天天看點

生産環境docker mysql_docker環境部署mysql

參考文檔

部署步驟

1. 拉取鏡像

這裡我拉取了tag為5.7的鏡像

docker pull mysql:5.7

2. 建立需要映射的目錄

因為需要自定義mysql的配置,是以需要一個配置目錄;

因為需要将mysql生成的資料挂載到本地,是以需要一個資料目錄;

# 建立mysql 資料目錄

mkdir -p /root/mysql/data

# 建立配置檔案

touch /root/mysql/my.cnf

3. 編輯配置檔案

/root/mysql/my.cnf

[mysqld]

explicit_defaults_for_timestamp=true

character-set-server=utf8

collation-server=utf8_unicode_ci

init_connect='SET NAMES utf8;'

4. 啟動

docker run --name mysql57 -p 3306:3306 -v /root/mysql/my.cnf:/etc/my.cnf:ro -v /root/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=1234asdfQ -d mysql:5.7

5. 檢測是否啟動成功

docker exet -it mysql57 /bin/bash

mysql -uroot -p

上述過程簡化成shell自動化腳本

#! /bin/bash

docker pull mysql:5.7

mkdir -p /root/mysql/data

touch /root/mysql/my.cnf

(

cat <

[mysqld]

explicit_defaults_for_timestamp=true

character-set-server=utf8

collation-server=utf8_unicode_ci

init_connect='SET NAMES utf8;'

EOF

) > /root/mysql/my.cnf

docker stop mysql57

docker rm mysql57

docker run --name mysql57 -p 3306:3306 -v /root/mysql/my.cnf:/etc/my.cnf:ro -v /root/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=1234asdfQ -d mysql:5.7