在 Ubuntu 安裝 MariaDB 資料庫
在 Ubuntu 安裝 MariaDB 資料庫
前言
因為 MySQL 被甲骨文給買了,
開源社群免費仔們擔心 MySQL 要不變成收費的,要不就是被冷凍了。
後來也真的不出大家的意外就是了。
MariaDB 的開發團隊以 MySQL 為基礎開發的資料庫,
所以許多開發者也無痛跳船了。
下載安裝
官方套件列表就有可以直接下載了,
基本上在同個作業系統版本上,
資料庫版本不會差太多。
sudo apt update
sudo apt install mariadb-server
設定 MariaDB
根據自己需要來設定,這邊提供翻譯參考。
# 執行安全安裝設定
sudo mysql_secure_installation
# 輸入root密碼,預設MariaDB沒有密碼,直接 Enter
Enter current password for root (enter for none):
#是否切換到unix套接字身份驗證[Y/n],輸入Y
Switch to unix_socket authentication [Y/n] n
# 是否設定 MySQL root 密碼,輸入N
Change root password? [Y/n] N
# 移除匿名帳號,輸入Y
Remove anonymous users? [Y/n] Y
# 不允許遠端使用root帳號登入,輸入Y
Disallow root login remotely? [Y/n] Y
# 移除測試資料庫與帳號,輸入Y
Remove test database and access to it? [Y/n] Y
# 重新載入權限設定,輸入Y
Reload privilege tables now? [Y/n] Y
設定登入使用者
密碼建議有一定的複雜度比較好,不然會從刪庫到跑路。
sudo mariadb
GRANT ALL PRIVILEGES ON *.* TO 'account'@'localhost' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
GRANT ALL PRIVILEGES ON *.* TO 'account'@'%' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
exit;
設定遠端連線
如果有需要用資料庫管理工具,例如 DBeaver
,那就要設定遠端連線。
預設的設定檔路徑:/etc/mysql/mariadb.conf.d/50-server.cnf
將 bind-address = 127.0.0.1
改為 bind-address = 0.0.0.0
重新啟動資料庫
重新啟動資料庫讓設定生效。
sudo service mysql restart
參考資料
如何在 Ubuntu 20.04 上安裝 MariaDB
How To Install MariaDB on Ubuntu 20.04
MariaDB 允許外部連線的設定
補充資料
在 MariaDB 中,unix_socket authentication 是一種身份驗證方法,它基於 Unix/Linux 操作系統中的文件系統權限來驗證用戶身份,而不是使用用戶名和密碼。它允許在本地主機上使用 MariaDB 客戶端連接到 MariaDB 服務器時,使用目前登錄的操作系統用戶身份進行身份驗證,而無需提供用戶名和密碼。
使用 unix_socket authentication 的優點是:
方便性:在本地主機上連接到 MariaDB 服務器時,不需要記住用戶名和密碼,因為可以使用當前登錄的操作系統用戶身份進行身份驗證。
安全性:不需要將用戶名和密碼存儲在 MariaDB 配置文件中,因此可以避免密碼洩露和暴力破解攻擊。
簡化管理:無需為每個 MariaDB 用戶分配單獨的用戶名和密碼,簡化了用戶管理。
需要注意的是,使用 unix_socket authentication 只適用於在本地主機上使用 MariaDB 客戶端連接到 MariaDB 服務器時進行身份驗證。如果需要從遠程主機上連接到 MariaDB 服務器,仍然需要使用用戶名和密碼進行身份驗證。