在 ServBay 中管理與使用 MariaDB 資料庫
MariaDB 是一款廣受歡迎的開源關聯式資料庫管理系統,源自 MySQL,以其高效能、可靠性與可擴展性聞名。ServBay 作為專為 macOS 設計的本地 Web 開發環境,整合了 MariaDB 資料庫服務,讓開發者能更便利地進行資料庫管理。本文將為您提供詳細指引,說明如何在 ServBay 中安裝、設定、連線、管理(含備份與還原)、優化及保護您的 MariaDB 資料庫。
安裝與設定 MariaDB
在 ServBay 中安裝 MariaDB 非常簡單。開啟 ServBay 主介面,點擊左側導覽列中的軟體套件,然後選擇 MariaDB。在這裡,您可以瀏覽可用的 MariaDB 版本列表。ServBay 目前支援 MariaDB 10.4 到 MariaDB 11.7 的多個版本。
選擇您所需的 MariaDB 版本後,點擊安裝按鈕即可完成安裝。
啟動與管理 MariaDB 服務
安裝完成後,您可透過 ServBay 的管理平台或命令列工具 servbayctl
來啟動、停止或重啟 MariaDB 服務。
使用 ServBay 管理平台
- 開啟 ServBay 主介面。
- 進入左側導覽列的軟體套件,並選擇 MariaDB。
- 在 MariaDB 套件詳細頁,找到您已安裝的 MariaDB 版本。
- 使用相應按鈕進行啟動、停止或重啟操作。
使用命令列工具 servbayctl
servbayctl
是 ServBay 提供的強大命令列工具,可用於管理各項服務與套件。
# 啟動指定版本的 MariaDB 服務(例如 MariaDB 11.3)
servbayctl start mariadb 11.3
# 停止指定版本的 MariaDB 服務
servbayctl stop mariadb 11.3
# 重啟指定版本的 MariaDB 服務
servbayctl restart mariadb 11.3
# 查看 MariaDB 服務的運行狀態
servbayctl status mariadb 11.3
2
3
4
5
6
7
8
9
10
11
請將命令中的 11.3
替換為您實際使用的 MariaDB 版本號。
設定 MariaDB
ServBay 提供直觀的圖形介面來調整 MariaDB 各項設定參數,也支援直接編輯設定檔。透過 ServBay 的 GUI,您可以輕鬆變更記憶體、快取、連線數等重要選項,以提升 MariaDB 效能。
如需取得詳細設定與優化 MariaDB 的步驟,請參考 ServBay 的進階設定文件:修改 MariaDB 設定。
連線至 MariaDB
在 ServBay 執行的 MariaDB 預設支援多種連線方式,包括命令列用戶端及圖形化管理工具。
使用命令列連線
您可利用標準的 mysql
命令列用戶端連接 MariaDB 服務。
使用 TCP/IP 連線:指定主機(
localhost
)與埠號(預設 3306)進行連線。bashmysql -u your_username -p -h localhost -P 3306
1執行後系統會提示輸入密碼。請將
your_username
改為您的資料庫帳號。使用 Socket 連線:指定 Unix domain socket 檔案路徑,這種方式通常比 TCP/IP 更快速。
bashmysql -u your_username -p -S /Applications/ServBay/tmp/mysql.sock
1ServBay 預設將 MariaDB 的 socket 檔案放在
/Applications/ServBay/tmp/mysql.sock
。
利用 phpMyAdmin 與 Adminer 連線
ServBay 內建了 phpMyAdmin 與 Adminer 兩個流行的資料庫圖形化管理工具,方便您透過網頁介面管理資料庫。
您可在瀏覽器訪問 ServBay 的在地服務網址來進入這些工具的入口頁:
- 訪問網址:https://servbay.host
於該頁面會看到 phpMyAdmin 及 Adminer 的連結。點擊即可進入登入頁。登入時,請使用您可於 ServBay 管理介面的 MariaDB 套件詳細頁查詢到的資料庫帳號及密碼。
資料庫管理
建立資料庫與用戶
連線至 MariaDB 後,您可以執行 SQL 指令來建立新資料庫及管理帳號權限。
建立資料庫:
sqlCREATE DATABASE mydatabase_servbay;
1建議資料庫名稱具描述性,例如
mydatabase_servbay
。建立用戶並賦予權限:為您的應用程式或專案建立專用帳號,僅給予必要權限,以強化安全。
sql-- 建立新用戶,如 servbay-demo,並設置密碼 CREATE USER 'servbay-demo'@'localhost' IDENTIFIED BY 'a_strong_password'; -- 授予用戶對特定資料庫全部權限 GRANT ALL PRIVILEGES ON mydatabase_servbay.* TO 'servbay-demo'@'localhost'; -- 刷新權限,使更動立即生效 FLUSH PRIVILEGES;
1
2
3
4
5
6
7
8請將
servbay-demo
和a_strong_password
替換成您想設定的帳號與強密碼,mydatabase_servbay
則為您的資料庫名稱。@'localhost'
表示該用戶僅能從本機登入。
備份與還原
定期備份資料庫是維護資料安全的關鍵。您可利用命令列工具手動備份,也可善用 ServBay 的自動備份功能。
手動備份資料庫
使用 mysqldump
功能可將資料庫導出為 SQL 檔。建議將備份檔存放至 ServBay 的備份目錄:
/Applications/ServBay/backup/mariadb
執行備份命令:
mysqldump -u servbay-demo -p mydatabase_servbay > /Applications/ServBay/backup/mariadb/mydatabase_servbay_backup.sql
請將 servbay-demo
及 mydatabase_servbay
替換為您的帳號及資料庫名。執行後系統會提示輸入密碼。
手動還原資料庫
利用 mysql
工具可將 SQL 備份檔匯入資料庫。
mysql -u servbay-demo -p mydatabase_servbay < /Applications/ServBay/backup/mariadb/mydatabase_servbay_backup.sql
此命令會將 /Applications/ServBay/backup/mariadb/mydatabase_servbay_backup.sql
中的數據還原至 mydatabase_servbay
資料庫。
ServBay 自動備份功能
ServBay 提供先進的自動備份功能,可定期備份 MariaDB 資料庫、網站檔案、ServBay 設定和 SSL 憑證等重要資料。您可於 ServBay 的設定中調整自動備份的頻率、保留份數與儲存位置。善用此功能可大幅簡化備份流程並確保資料安全。詳細設定方式請見 如何自動備份及還原 MariaDB 資料庫。
效能優化
MariaDB 提供多種效能優化選項,下列為幾個常見且適合 ServBay 本地開發、測試情境運用的方法。
索引優化
為經常於 WHERE
、JOIN
或 ORDER BY
使用的欄位建立索引,可顯著加速查詢。
-- 為 your_table_name 表格的 column_name 欄位建立索引
CREATE INDEX idx_column_name ON your_table_name(column_name);
2
查詢優化
運用 EXPLAIN
指令分析 SQL 查詢執行情形,了解是否使用索引與資料存取方式,找出優化方向。
EXPLAIN SELECT * FROM your_table_name WHERE column_name = 'value';
根據 EXPLAIN
輸出結果,可考慮調整查詢、增加索引或變更表結構。
設定優化
調整 MariaDB 設定檔(多為 my.cnf
或 my.ini
),尤其是記憶體、快取及連線數等,可提升整體效能。innodb_buffer_pool_size
為關鍵參數,決定 InnoDB 儲存引擎可用以快取資料及索引的記憶體大小,應依您硬體規格酌量調整。
[mysqld]
# 調整 InnoDB buffer pool 大小,例如設定為系統記憶體的 50-70%
innodb_buffer_pool_size = 1G
2
3
修改設定後,需重啟 MariaDB 服務。您可透過 ServBay GUI 或 servbayctl restart mariadb <version>
重新啟動。
安全管理
即使是本地開發環境,維護資料庫安全也非常重要,有助養成良好的資訊安全習慣。
設定強密碼
所有資料庫用戶(特別是 root)都應設複雜且唯一的強密碼。避免使用簡單或預設密碼。
-- 修改用戶密碼
ALTER USER 'servbay-demo'@'localhost' IDENTIFIED BY 'a_new_strong_password';
-- 或使用舊語法(視 MariaDB 版本)
SET PASSWORD FOR 'servbay-demo'@'localhost' = PASSWORD('a_new_strong_password');
2
3
4
5
定期備份
如前所述,定期執行資料庫備份是防止資料遺失的要訣。結合 ServBay 自動備份功能可更有保障。
限制存取
遵循最小權限原則,只給予用戶完成任務所需的最低權限。避免讓應用程式用戶擁有全域權限(如 ALL PRIVILEGES ON *.*
)。
-- 撤銷用戶所有資料庫的全部權限(謹慎操作)
REVOKE ALL PRIVILEGES ON *.* FROM 'servbay-demo'@'localhost';
-- 僅授權用戶對特定資料庫的 SELECT、INSERT、UPDATE 權限
GRANT SELECT, INSERT, UPDATE ON mydatabase_servbay.* TO 'servbay-demo'@'localhost';
-- 刷新權限
FLUSH PRIVILEGES;
2
3
4
5
6
7
8
常見問題與解法(FAQ)
無法連線到 MariaDB
若您遇到無法連上 MariaDB,可按以下步驟排查:
- 檢查 MariaDB 服務是否運行: 使用 ServBay 圖形介面檢查 MariaDB 狀態,或輸入以下命令:bash若服務未啟動,請嘗試啟動它。
servbayctl status mariadb <version>
1 - 確認連線參數無誤: 檢查您使用的帳號、密碼、主機名稱(
localhost
)、埠號(3306
)或 socket 路徑(/Applications/ServBay/tmp/mysql.sock
)是否正確。 - 檢查防火牆設定: 確認 macOS 的防火牆未擋住 ServBay 或 MariaDB 的網路連線。本地開發時通常不受限,遠端連線時則需注意。
密碼錯誤
若遇到密碼錯誤無法登入 MariaDB,或忘記 root 密碼,請參閱 ServBay 文件中的密碼重設說明:
ServBay 支援便利地重設 MariaDB、MySQL 及 PostgreSQL 等資料庫的 root 密碼。
權限問題
若可連線資料庫,但無法進行某些操作(如建表、新增資料),很可能是用戶權限不足。
- 檢查目前用戶權限:sql請將
SHOW GRANTS FOR 'your_username'@'localhost';
1your_username
換成您目前登入的帳號。 - 補足所需權限: 如權限不足,請用高權限帳號(例如 root)補授權,並刷新權限。sql
GRANT ALL PRIVILEGES ON mydatabase_servbay.* TO 'servbay-demo'@'localhost'; FLUSH PRIVILEGES;
1
2
總結
MariaDB 是 ServBay 本地開發環境中極為強大且核心的元件。善用 ServBay 所提供的直覺化管理介面與工具,您能有效率地安裝、設定、連線、管理、優化及保護 MariaDB 資料庫。熟悉這些基本操作,對建構穩定且高效能的 Web 應用至關重要。期盼本指南能協助您更好地活用 ServBay 中的 MariaDB,為您的在地開發流程提供堅實的資料支持。