docker安裝mysql

梦里不分西东發表於2024-03-24

1. 建立本地資料夾

mkdir -p /docker/mysql8/conf
mkdir -p /docker/mysql8/data
mkdir -p /docker/mysql8/log

2. 新建配置檔案

在conf資料夾中建立檔案:mysql.conf
檔案內容:

[mysqld]
init-connect="SET collation_connection=utf8mb4_0900_ai_ci"
init_connect="SET NAMES utf8mb4"
skip-character-set-client-handshake

3. 拉取映象

docker pull mysql

4. 啟動映象

docker run  --restart=always --name mysql8 -v /docker/mysql8/log:/var/log/mysql -v /docker/mysql8/data:/var/lib/mysql -v /docker/mysql8/conf:/etc/mysql/conf.d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=yyyxxx -d mysql

解釋:來自ChatGPT

這條命令是用來啟動一個 MySQL Docker 容器的。讓我們一步步地解釋這條命令的各個部分:

  1. docker run:這是 Docker 的一個基本命令,用於啟動一個新容器。

  2. --restart=always:這個選項指定了容器的重啟策略。設定為 always 意味著無論容器因何原因停止執行,Docker 都會自動重啟它。

  3. --name mysql8:這裡指定了容器的名稱為 mysql8。透過這個名稱,你可以輕鬆地引用或操作這個容器。

  4. -v /docker/mysql8/log:/var/log/mysql:這是一個資料卷的掛載指令,它將宿主機的 /docker/mysql8/log 目錄掛載到容器的 /var/log/mysql 目錄。這意味著容器內的 MySQL 日誌會被儲存到宿主機的指定目錄中。

  5. -v /docker/mysql8/data:/var/lib/mysql:同樣是一個資料卷的掛載,將宿主機的 /docker/mysql8/data 目錄掛載到容器的 /var/lib/mysql 目錄。這裡儲存的是 MySQL 資料庫的資料檔案。

  6. -v /docker/mysql8/conf:/etc/mysql/conf.d:將宿主機的 /docker/mysql8/conf 目錄掛載到容器的 /etc/mysql/conf.d 目錄,用於自定義 MySQL 的配置。

  7. -p 3306:3306:這是埠對映的設定。它將容器的 3306 埠對映到宿主機的 3306 埠,使得你可以透過宿主機的 3306 埠來訪問容器中的 MySQL 服務。

  8. -e MYSQL_ROOT_PASSWORD=yyyxxx:這裡設定了環境變數 MYSQL_ROOT_PASSWORD,其值為 yyyxxx。這個環境變數是用來設定 MySQL root 使用者的密碼的。

  9. -d mysql-d 選項讓容器在後臺執行。mysql 指定了要使用的映象,這裡使用的是 mysql 映象。

綜上所述,這條命令建立了一個名為 mysql8 的 MySQL 容器,設定了資料卷和埠對映,並配置了 root 使用者密碼。容器會在後臺執行,並且會在停止後自動重啟。

相關文章