使用 Docker 快速建立 MariaDB 資料庫 (含全部指令)

需要先安裝好 Docker ,如果是 Windows 的使用者可以看這篇:Windows 11 Docker 詳細安裝教學

首先先到 Docker Hub 上面尋找自己要的 MariaDB 版本,筆者這裡使用 11.3.2,也可以直接使用最新版 latest

使用下列指令快速建立 MariaDb docker 容器(container)
    
docker run -d --name mariadb --env MARIADB_ROOT_PASSWORD=Abcd1234 -e TZ=Asia/Taipei  -p 3306:3306 mariadb:11.3.2
    

指令逐步說明:
  • docker run : 使用 docker 建立一個新容器
  • -d : 在背景執行
  • --name mariadb : 容器名稱設定為 mariadb
  • --env MARIADB_ROOT_PASSWORD=Abcd1234 : 設定 root 密碼為 Abcd1234
  • -e TZ=Asia/Taipei : 指定時區為台北
  • -p 3306:3306 : 將 MariaDB 的 3306 port 映射,讓容器外部可以連入
  • mariadb:11.3.2 : 使用 mariadb image ,版本為 11.3.2,想要使用最新版可以換成 latest
到這裡就建立好 MariaDB 資料庫了!不過預設 root 只能從本機存取(容器內部),所以我們要進到容器中建立一個新的使用者,讓他可以從外部連入

進入到名稱為 "mariadb" 的容器中:
    
docker exec -it mariadb bash
    

使用 root 帳號登入 mariadb,並且等一下要輸入密碼(-p)
    
mariadb -u root -p
    

直接輸入一次密碼,剛剛上面的預設密碼是:
    
Abcd1234
    

建立使用者名稱為 "username" ,可以在任何地方(%)登入的使用者,密碼為 "mpassword"
    
CREATE USER 'username'@'%' IDENTIFIED BY 'mpassword';
    

這裡也附上:只能在本機(localhost) 登入的使用者的建立方式:
    
CREATE USER 'username'@'localhost' IDENTIFIED BY 'mpassword';
    

建立一個名為 mydb 的資料庫:
    
CREATE DATABASE IF NOT EXISTS mydb;
    

註: 在容器內部是 linux ,預設會區分大小寫,可以透過設定值變更,如果是在 windows 中則不會區分大小寫

給予 username 這個使用者 mydb 資料庫的全部權限:
    
GRANT ALL PRIVILEGES ON mydb.* TO 'username'@'%';
    

離開 mariadb 指令介面:
    
exit
    

離開容器:
    
exit
    

這時候應該就可以使用資料庫管理工具使用電腦的 IP (不能使用 127.0.0.1 ,因為是在容器內部),加上上面建立的使用者帳號密碼登入到資料庫中了!

留言

張貼留言

如果有任何問題、建議、想說的話或文章題目推薦,都歡迎留言或來信: a@ruyut.com