Docker搭建MySQL并挂载数据
Docker搭建MySQL并挂载数据
作者:IT王小二
记录 Docker 搭建 MySQL 并挂载数据过程,搭建过程参考自 Docker Hub。
一、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
使用上面的命令重新创建容器,查看数据是否正常,可以看到数据正常挂载查询,此处演示的数据正常挂载保存宿主机。