MySQL: 進階用法

如何設定、優化、匯出或匯入 MySQL 資料

👋 歡迎來到 Stackhero 文件!

Stackhero 提供即用型 MySQL 雲端 解決方案,帶來多項好處,包括:

  • 無限連接和傳輸。
  • 包含 phpMyAdmin 網頁介面。
  • 只需點擊即可輕鬆進行 更新
  • 專用私有 VM 提供的最佳 效能和強大 安全性

節省時間簡化您的生活:只需 5 分鐘即可嘗試 Stackhero 的 MySQL 雲端託管 解決方案!

在 Stackhero,您的 MySQL 伺服器可同時處理的連線數並沒有硬性限制。您可以直接在 Stackhero 控制台靈活調整這個參數,以配合您的應用程式需求。

雖然將這個數值設得越高似乎越好,但建議您設定一個實際可行的上限。每一個開啟的連線都會佔用伺服器記憶體(RAM),如果設定過高,可能會對您的實例造成不必要的壓力,甚至導致資料庫不穩定。

如果您的資料庫主要使用 InnoDB 儲存引擎,您可以在 Stackhero 控制台啟用「InnoDB Optimizations」選項,以提升效能。

同樣地,如果您的資料庫採用 MyISAM 儲存引擎,啟用「MyISAM Optimizations」選項也能帶來效能上的改善。

如果您不確定資料庫使用哪一種儲存引擎,或不確定該選擇哪個優化選項,建議您預設啟用這些選項。您隨時可以根據實際工作負載或資源使用情況進行微調。

MySQL 的指令列工具如 mysqlmysqldump,在匯入或匯出資料時非常實用。

其中一個簡單的方式是直接在 Docker container 內執行這些工具。這樣可以保持本機環境乾淨,無需手動安裝。

如果您的工作流程沒有用到 Docker,也完全沒問題。您可以考慮在 Stackhero 上使用 Code-Hero。這個瀏覽器端開發平台讓您直接在瀏覽器中作業,無需在本地安裝任何軟件。只需幾分鐘即可了解更多並立即試用,請參閱 Code-Hero on Stackhero

要開始使用 Docker,您可以用以下指令啟動一個 MySQL container:

docker run -it -v $(pwd):/mnt mysql:<MYSQL_VERSION> /bin/bash

請將 <MYSQL_VERSION> 替換為您需要的版本。例如,若您在 Stackhero 上運行 MySQL 8.0.36-0,請填寫 8.0.36(不需加上結尾的 -0)。

Container 啟動後,您可以用以下指令測試連線:

mysql -u root -p -h <XXXXXX>.stackhero-network.com -P <PORT>

這裡,您的目前目錄會掛載到 container 內的 /mnt(透過 $(pwd):/mnt 參數)。這樣方便您在本機與 container 之間傳送檔案。例如,若您想將資料庫備份到本機,可以使用:

mysqldump -u root -p -h <XXXXXX>.stackhero-network.com -P <PORT> <DATABASE> > /mnt/<DATABASE>.sql

若要建立資料庫備份(即「dump」),您可以直接在本機使用 mysqldump 工具。(如需在 Docker 內執行,請參考前一節。)

若要將 Stackhero 實例中的資料庫匯出到您的電腦,請執行:

mysqldump -u root -p -h <XXXXXX>.stackhero-network.com -P <PORT> <DATABASE> > <DATABASE>.sql

請務必將 <XXXXXX>.stackhero-network.com<PORT><DATABASE> 替換為您的實際實例資訊。執行指令後,系統會要求您輸入 root 密碼。mysqldump 工具會將您的資料表儲存為 <DATABASE>.sql 檔案。

若要將本機的資料庫匯入 Stackhero 實例,請使用以下指令:

mysql -u root -p -h <XXXXXX>.stackhero-network.com -P <PORT> <DATABASE> < yourDump.sql

請記得將 yourDump.sql 替換為您要匯入的 SQL 檔案名稱。