跳至主要內容

在 Ubuntu 安裝 MariaDB 資料庫

Pamis Wang大约 3 分鐘資料庫MariaDBMariaDB 10.6UbuntuUbuntu 22.04

在 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 上安裝 MariaDBopen in new window
How To Install MariaDB on Ubuntu 20.04open in new window
MariaDB 允許外部連線的設定open in new window

補充資料

在 MariaDB 中,unix_socket authentication 是一種身份驗證方法,它基於 Unix/Linux 操作系統中的文件系統權限來驗證用戶身份,而不是使用用戶名和密碼。它允許在本地主機上使用 MariaDB 客戶端連接到 MariaDB 服務器時,使用目前登錄的操作系統用戶身份進行身份驗證,而無需提供用戶名和密碼。

使用 unix_socket authentication 的優點是:

方便性:在本地主機上連接到 MariaDB 服務器時,不需要記住用戶名和密碼,因為可以使用當前登錄的操作系統用戶身份進行身份驗證。

安全性:不需要將用戶名和密碼存儲在 MariaDB 配置文件中,因此可以避免密碼洩露和暴力破解攻擊。

簡化管理:無需為每個 MariaDB 用戶分配單獨的用戶名和密碼,簡化了用戶管理。

需要注意的是,使用 unix_socket authentication 只適用於在本地主機上使用 MariaDB 客戶端連接到 MariaDB 服務器時進行身份驗證。如果需要從遠程主機上連接到 MariaDB 服務器,仍然需要使用用戶名和密碼進行身份驗證。

上次編輯於:
貢獻者: pamis