記錄 Docker 搭建 MySQL 並掛載數據過程,搭建過程參考自 Docker Hub
作者:IT王小二
博客:https://itwxe.com
一、Docker搭建MySQL並掛載數據
1、首先安裝好 Docker,不知道怎么安裝的可以看下 CentOS7安裝Docker初體驗 。
2、下載 MySQL5.7 鏡像。
docker pull mysql:5.7
3、創建容器並掛載數據。
docker run -d --restart=always --name mysql \
-v /itwxe/dockerData/mysql/data:/var/lib/mysql \
-v /itwxe/dockerData/mysql/conf:/etc/mysql \
-v /itwxe/dockerData/mysql/log:/var/log/mysql \
-p 3306:3306 \
-e TZ=Asia/Shanghai \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql:5.7 \
--character-set-server=utf8mb4 \
--collation-server=utf8mb4_general_ci
參數說明:
-v /itwxe/dockerData/mysql/data:/var/lib/mysql:將數據文件夾掛載到主機
-v /itwxe/dockerData/mysql/conf:/etc/mysql:將配置文件夾掛在到主機,可以在宿主機放一份自定義 my.cnf文件,那么容器就會按自定義配置啟動
-v /itwxe/dockerData/mysql/log:/var/log/mysql:將日志文件夾掛載到主機
-p 3306:3306:將容器的3306端口映射到主機的3306端口
-e MYSQL_ROOT_PASSWORD=123456:初始化123456用戶的密碼
--character-set-server=utf8mb4:設置字符集
--collation-server=utf8mb4_general_ci:排序方式
4、進入 MySQL 容器內部。
docker exec -it mysql /bin/bash
5、登錄 MySQL。
mysql -uroot -p123456
6、查看字符集是否生效。
show variables like 'character_set_%';
二、掛載是否生效
1、上傳備份 sql 到宿主機,復制宿主機備份 sql 到容器。
docker cp /itwxe/dockerData/sunny.sql mysql:/
2、進入 mysql 容器內部,導入sql。
docker exec -it mysql /bin/bash
mysql -uroot -p123456
create database sunny;
use sunny;
source /sunny.sql;
3、數據導入成功可以查詢后,刪除容器,並重新用命令創建容器,查看數據存在。
docker stop mysql && docker rm mysql
使用上面的命令重新創建容器,查看數據是否正常,可以看到數據正常掛載查詢,此處演示的數據正常掛載保存宿主機。
都讀到這里了,來個 點贊、評論、關注、收藏 吧!