在 ServBay 中管理與使用 MariaDB 資料庫
MariaDB 是一款廣受歡迎的開源關聯式資料庫管理系統,源自 MySQL,以高效能、可靠性及擴充性著稱。ServBay 作為支援 macOS 與 Windows 的本地 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 提供的強大命令列工具,方便管理各項服務與軟體包。
bash
# 啟動指定版本的 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
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
請將命令中的 11.3
替換為您實際安裝與使用的 MariaDB 版本號。
設定 MariaDB
ServBay 提供直覺式圖形介面可修改 MariaDB 的設定參數,也支援直接編輯設定檔。透過 ServBay 的介面,您可輕鬆調整記憶體、快取、連線數等重要項目以優化 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 環境下可透過命令列工具手動備份,也能運用 ServBay 的自動備份功能。
手動備份資料庫
利用 mysqldump
工具將資料庫匯出為 SQL 檔。建議將備份檔存於 ServBay 備份目錄:
bash
/Applications/ServBay/backup/mariadb
1
執行備份指令:
bash
mysqldump -u servbay-demo -p mydatabase_servbay > /Applications/ServBay/backup/mariadb/mydatabase_servbay_backup.sql
1
請將 servbay-demo
與 mydatabase_servbay
替換成您的用戶名稱與資料庫。執行後會提示輸入密碼。
手動恢復資料庫
透過 mysql
工具將 SQL 備份檔還原至資料庫。
bash
mysql -u servbay-demo -p mydatabase_servbay < /Applications/ServBay/backup/mariadb/mydatabase_servbay_backup.sql
1
此指令會將 /Applications/ServBay/backup/mariadb/mydatabase_servbay_backup.sql
內容恢復到 mydatabase_servbay
。
ServBay 自動備份功能
ServBay 提供強大的自動備份機能,可定期備份 MariaDB 資料庫、網站檔案、平台設定及 SSL 憑證等重要資料。您可於 ServBay 設定自動備份頻率、保留份數與儲存位置。善用此功能能大幅簡化備份流程並保障資料安全。詳細設定請參閱 如何自動備份及恢復 MariaDB 資料庫。
效能優化
MariaDB 提供多種效能優化選項,以下列出在 ServBay 本地開發測試環境中常用的作法。
索引優化
為經常用於 WHERE
、JOIN
或 ORDER BY
的欄位建立索引,可大幅提升查詢速度。
sql
-- 為 your_table_name 表格的 column_name 欄位建立索引
CREATE INDEX idx_column_name ON your_table_name(column_name);
1
2
2
查詢優化
用 EXPLAIN
指令分析 SQL 查詢效能,掌握資料讀取方式、索引運用等,找出優化方向。
sql
EXPLAIN SELECT * FROM your_table_name WHERE column_name = 'value';
1
依 EXPLAIN
輸出內容,可檢視是否需調整查詢語句、加設索引或修改表結構。
設定優化
最佳化 MariaDB 設定檔(通常為 my.cnf
或 my.ini
),特別是記憶體、緩存與連線參數有助提升整體效能。innodb_buffer_pool_size
是關鍵參數之一,決定 InnoDB 引擎緩存大小,應依主機可用記憶體做適當調整。
ini
[mysqld]
# 設定 InnoDB 緩衝池大小,例如佔實體記憶體的 50-70%
innodb_buffer_pool_size = 1G
1
2
3
2
3
修改後需重新啟動 MariaDB 服務才會生效,可用 ServBay 圖形介面或 servbayctl restart mariadb <version>
指令達成。
安全管理
即便是在本地開發環境,也應確保資料庫安全,有助於培養良好資安習慣。
設定強密碼
為所有資料庫使用者,尤其是 root 用戶,設定獨特且複雜的強密碼。切勿使用弱密碼或預設密碼。
sql
-- 修改使用者密碼
ALTER USER 'servbay-demo'@'localhost' IDENTIFIED BY 'a_new_strong_password';
-- 或用舊語法(依 MariaDB 版本而定)
SET PASSWORD FOR 'servbay-demo'@'localhost' = PASSWORD('a_new_strong_password');
1
2
3
4
5
2
3
4
5
定期備份
如前所述,定期備份資料庫是防止資料遺失的重要舉措。搭配 ServBay 的自動備份功能,能確保資料即時且可靠保存。
限制存取性
遵循最小權限原則,只給使用者其工作所需最低權限。切勿讓應用程式用戶有全域權限(如 ALL PRIVILEGES ON *.*
)。
sql
-- 撤銷用戶所有資料庫的權限(請審慎執行)
REVOKE ALL PRIVILEGES ON *.* FROM 'servbay-demo'@'localhost';
-- 僅允許用戶針對特定資料庫執行 SELECT、INSERT、UPDATE
GRANT SELECT, INSERT, UPDATE ON mydatabase_servbay.* TO 'servbay-demo'@'localhost';
-- 刷新權限
FLUSH PRIVILEGES;
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
常見問題與解決方案(FAQ)
無法連線至 MariaDB
若發生無法連線 MariaDB,可依下列步驟排查:
- 確認 MariaDB 服務是否正在運作: 利用 ServBay 介面檢查 MariaDB 軟體包狀態,或用
servbayctl
指令: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 強大功能,為本地開發流程奠定堅實的資料基礎。