docker部署MySQL

wellplayed發表於2024-03-13

1 做後臺守護式mysql容器 埠3308執行 設定密碼

docker run -di --name=mysql -p 3308:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7

2 做目錄(配置檔案和資料檔案)和埠對映

2.1 建立資料夾

mkdir /mysql
mkdir /mysql/conf.d
mkdir /mysql/data/

2.2 書寫配置檔案

vim /mysql/my.cnf

# 書寫以下內容
[client]
default-character-set=utf8
[mysqld]
user=mysql
character-set-server=utf8
default_authentication_plugin=mysql_native_password
secure_file_priv=/var/lib/mysql
expire_logs_days=7
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
max_connections=1000

2.3 埠對映

docker run -di -v /mysql/data/:/var/lib/mysql -v /mysql/conf.d:/etc/mysql/conf.d -v /mysql/my.cnf:/etc/mysql/my.cnf -p 3306:3306 --name mysql5.7 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7  

測試容器是否純淨

# 建立庫,建立表,插入資料

# 關閉容器,刪除容器,mysql的容器沒了,但是資料在宿主機上放著
 docker stop mysql2
 docker rm mysql2
 docker rm mysql -f  

# 再執行起一個容器,做好目錄對映,發現資料都回來了
docker run -di -v /mysql/data/:/var/lib/mysql -v /mysql/conf.d:/etc/mysql/conf.d -v /mysql/my.cnf:/etc/mysql/my.cnf -p 3307:3306 --name mysql2 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7 

相關文章