MariaDB: 進階用法
如何設定、最佳化、匯出或匯入 MariaDB 資料
👋 歡迎來到 Stackhero 文件!
Stackhero 提供即用的 MariaDB cloud 解決方案,帶來多項好處,包括:
- 無限連接和傳輸。
- 包含 phpMyAdmin 網頁介面。
- 只需一鍵即可輕鬆更新。
- 由專用私有 VM提供的最佳性能和強大安全性。
節省時間並簡化您的生活:只需 5 分鐘即可嘗試 Stackhero 的 MariaDB cloud hosting 解決方案!
設定 MariaDB 最大連線數
在 Stackhero,您不會受到伺服器同時連線數的固定限制。您可以直接在 Stackhero 控制台中靈活調整這個數值。
雖然將連線上限設得很高看似有吸引力,但建議您根據實際需求選擇合適的數字。每一個連線都會佔用記憶體(RAM),如果設定過高,可能導致系統資源耗盡甚至當機。
為 InnoDB 或 MyISAM 引擎最佳化 MariaDB
如果您的資料庫使用 InnoDB 儲存引擎,建議您在控制台啟用「InnoDB Optimizations」選項,這有助於提升 InnoDB 型工作負載的效能。
若您的資料庫採用 MyISAM 儲存引擎,啟用「MyISAM Optimizations」選項同樣能帶來效益。
如果您不確定哪個選項最適合您的環境,建議一開始可以同時啟用兩者。之後,您可以根據資源使用狀況與效能監控結果,決定是否關閉其中一項或兩項,以節省記憶體(RAM)。
Query cache
MariaDB 的查詢快取(query cache)是一項實用功能,您可以直接在 Stackhero 控制台啟用。一般建議保持啟用狀態。不過,如果您的資料庫寫入操作多於讀取,或需要降低記憶體用量,也可以考慮關閉這個功能。
使用 MariaDB CLI 工具(mysql、mysqldump 等)
MariaDB 的指令列工具如 mysql 和 mysqldump,是執行資料匯入或匯出等任務不可或缺的工具。
在 Docker 容器中執行這些工具可以簡化環境設定,特別是當您不想在本機直接安裝軟體時。
如果您的工作流程中沒有使用 Docker,也完全沒問題! 您可以改用 Stackhero 上的 Code-Hero。 Code-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
匯出 MariaDB 資料庫
您可以直接在本機使用 mysqldump CLI 匯出資料庫。詳細步驟請參考上方說明。
匯出 MariaDB 資料庫到您的電腦
若要將 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 檔案中。
匯入 MariaDB 資料庫到您的伺服器
若要將本機的資料庫匯入 Stackhero 實例,請使用:
mysql -u root -p -h <XXXXXX>.stackhero-network.com -P <PORT> <DATABASE> < yourDump.sql
只需將 yourDump.sql 替換為您要匯入 Stackhero 實例的 SQL 檔案即可。