在 Ubuntu 22.04 安裝 MariaDB 資料庫
資料庫自從 MySQL 被 Oracle 收購之後,很多人都擔心 MySQL 將來可能會閉源,因此才分支出 MariaDB。維基百科上面寫說 MariaDB 的 API 協定相容於 MySQL,這表示您的專案如果原本是使用 MySQL,現在要改用 MariaDB 的話,程式基本上根本不需要修改,這部份我自己安裝完之後也有寫一些簡單的程式測試過,確實與操作 MySQL 一模一樣,連 phpMyAdmin 也都可以直接連 MariaDB。
MariaDB 安裝流程
首先先到官網下載頁面選擇您要安裝的作業系統、版本以及要安裝的 MariaDB 版本,我是安裝在 Ubuntu 22.04,所以是選擇 Ubuntu 22.04 "jammy" > 11.1 > OSSPlanet + Ubuntu-TW - Ubuntu 台灣在地推廣組,然後按照畫面出現的指令安裝 apt 儲存庫。
安裝金鑰
$ sudo apt-get install apt-transport-https curl
$ sudo mkdir -p /etc/apt/keyrings
$ sudo curl -o /etc/apt/keyrings/mariadb-keyring.pgp 'https://mariadb.org/mariadb_release_signing_key.pgp'
加入儲存庫:使用 vim 編輯 /etc/apt/sources.list.d/mariadb.sources,並填寫以下內容。
# MariaDB 11.1 repository list - created 2023-11-08 06:16 UTC
# https://mariadb.org/download/
X-Repolib-Name: MariaDB
Types: deb
# deb.mariadb.org is a dynamic mirror if your preferred mirror goes offline. See https://mariadb.org/mirrorbits/ for details.
# URIs: https://deb.mariadb.org/11.1/ubuntu
URIs: https://ftp.ubuntu-tw.org/mirror/mariadb/repo/11.1/ubuntu
Suites: jammy
Components: main main/debug
Signed-By: /etc/apt/keyrings/mariadb-keyring.pgp
安裝 MariaDB
$ sudo apt-get update # 更新
$ sudo apt install mariadb-server # 安裝 MariaDB
$ sudo systemctl status mariadb # 安裝完服務就已經啟動了,可以再檢查一下
$ mysql_secure_installation # 初始化 MariaDB
初始化 MariaDB 會需要回答幾個問題,如下:
- Enter current password for root (enter for none)
- 輸入 root 密碼,預設 MariaDB 沒有密碼,直接按 enter 就好了。
- Switch to unix_socket authentication [Y/n]
- 切換到 unix_socket 身份驗證,這是在 10.4.3 版新增的身份驗證方式,沒有強制使用,輸入 n。
- Change the root password? [Y/n]
- 修改資料庫 root 帳號密碼,輸入 y。
- New password
- 輸入要設定的 root 帳號密碼。
- Re-enter new password
- 再輸入一次輸入要設定的 root 帳號密碼。
- Remove anonymous users? [Y/n]
- 移除匿名帳號,輸入 y。
- Disallow root login remotely? [Y/n]
- 不允許遠端使用 root 帳號登入,這邊我是輸入 n,不過考量安全性應該要輸入 y。
- Remove test database and access to it? [Y/n]
- 移除測試資料庫與帳號,輸入 y。
- Reload privilege tables now? [Y/n]
- 重新載入權限設定,輸入 y。
到這邊就已經完成安裝了,可以使用以下指令登入試試看。
$ sudo mysql -u root -p
常用指令
$ sudo systemctl enable mariadb # 開機自動啟動服務
$ sudo systemctl start mariadb # 啟動服務
$ sudo systemctl stop mariadb # 停止服務
$ sudo systemctl restart mariadb # 重新啟動服務
$ sudo systemctl status mariadb # 查看服務狀態
允許外部連線
MariaDB 安裝好後,預設只允許從 localhost 連進資料庫,但為了管理方便,通常都會透過遠端電腦並安裝資料庫管理工具進行管理。 如果要允許外部連線,請按照以下步驟進行設定。
- 編輯 MariaDB 設定檔
- 編輯 /etc/mysql/mariadb.conf.d/50-server.cnf,找到 bind-address = 127.0.0.1 這一行,在這行前加入 # 註解掉。 修改後,重啟 MariaDB 服務 (sudo systemctl restart mariadb)。
- 新增資料庫權限
-
假設外部電腦 IP 為 192.168.0.1,並且設定帳號為 root,密碼為 123456,可以管理全部資料庫,請參考以下指令進行設定。
-- 建立帳號,並授與使用所有資料庫的所有權限 GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.0.1' IDENTIFIED BY '123456' WITH GRANT OPTION; -- 更新系統權限表 FLUSH PRIVILEGES;
- 開啟 3306 Port
-
# 允許全部連線通過 3306 Port $ ufw allow 3306 # [較安全作法] # 僅允許來自 192.168.0.1 通過 3306 Port $ ufw allow from 192.168.0.1 to any port 3306
參考資料
熱門文章
最新文章
0 則留言