MariaDB: 進階用法

如何設定、最佳化、匯出或匯入 MariaDB 資料

👋 歡迎來到 Stackhero 文件!

Stackhero 提供即用的 MariaDB cloud 解決方案,帶來多項好處,包括:

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

節省時間簡化您的生活:只需 5 分鐘即可嘗試 Stackhero 的 MariaDB cloud hosting 解決方案!

在 Stackhero,您不會受到伺服器同時連線數的固定限制。您可以直接在 Stackhero 控制台中靈活調整這個數值。

雖然將連線上限設得很高看似有吸引力,但建議您根據實際需求選擇合適的數字。每一個連線都會佔用記憶體(RAM),如果設定過高,可能導致系統資源耗盡甚至當機。

如果您的資料庫使用 InnoDB 儲存引擎,建議您在控制台啟用「InnoDB Optimizations」選項,這有助於提升 InnoDB 型工作負載的效能。

若您的資料庫採用 MyISAM 儲存引擎,啟用「MyISAM Optimizations」選項同樣能帶來效益。

如果您不確定哪個選項最適合您的環境,建議一開始可以同時啟用兩者。之後,您可以根據資源使用狀況與效能監控結果,決定是否關閉其中一項或兩項,以節省記憶體(RAM)。

MariaDB 的查詢快取(query cache)是一項實用功能,您可以直接在 Stackhero 控制台啟用。一般建議保持啟用狀態。不過,如果您的資料庫寫入操作多於讀取,或需要降低記憶體用量,也可以考慮關閉這個功能。

MariaDB 的指令列工具如 mysqlmysqldump,是執行資料匯入或匯出等任務不可或缺的工具。

在 Docker 容器中執行這些工具可以簡化環境設定,特別是當您不想在本機直接安裝軟體時。

如果您的工作流程中沒有使用 Docker,也完全沒問題! 您可以改用 Stackhero 上的 Code-HeroCode-Hero 是一個完整的開發平台,直接在瀏覽器中運作,無需本地安裝。 您可以在 Stackhero 上的 Code-Hero 了解更多功能並於幾分鐘內開始使用。

若要開始使用 Docker,您可以用以下指令啟動一個 MariaDB 容器:

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

請將 <MARIADB_VERSION> 替換為您需要的 MariaDB 版本。例如,若您的應用程式在 Stackhero 上運行的是 10.11.6-0 版本,則可使用 10.11.6(只需去掉 -0 後綴)。

當您的容器啟動後,可以用以下指令測試連線:

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

啟動容器時,您目前的目錄會掛載到容器內的 /mnt(透過 $(pwd):/mnt)。這表示您電腦當前目錄下的所有檔案都會出現在容器內的 /mnt。例如,若您想將 MariaDB 資料庫備份到本機,可在容器內執行以下指令,將備份存成 /mnt/<DATABASE>.sql

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

您可以直接在本機使用 mysqldump CLI 匯出資料庫。詳細步驟請參考上方說明。

若要將 Stackhero 實例中的資料庫匯出到您的電腦,請使用以下指令:

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

請將 <XXXXXX>.stackhero-network.com<PORT><DATABASE> 替換為您的實際資訊。按下 Enter 後,mysqldump 會要求輸入 root 密碼,然後將所有資料表匯出到 <DATABASE>.sql 檔案中。

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

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

只需將 yourDump.sql 替換為您要匯入 Stackhero 實例的 SQL 檔案即可。