Docker中安装部署MySQL

安装启动

参考文档

安装前要选择安装版本,访问官方链接,找到适合的版本,这里我选择5.7版本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# 拉去mysql镜像 docker pull mysql/mysql-server:tag
docker pull mysql/mysql-server:5.7
# 查看是否全部镜像
docker images
# 选择镜像,启动容器 docker run --name=container_name -d image_name:tag
# -d 后台启动 -p 容器3306端口映射外部端口3308 --name 给容器实例命名mysql5.7
# docker run -p 3346:3306 --name mysql-slave4 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
docker run --name=mysql5.7 -p 3308:3306 -d mysql/mysql-server:5.7
# 容器启动过程中会重新初始化数据库,生成随机密码,查看容器启动日志
docker logs mysql5.7 2>&1 | grep GENERATED
# 登录数据库
docker exec -it mysql5.7 mysql -uroot -p
# 改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password';
# 默认mysql的root用户不支持远程访问,开启访问权限
GRANT ALL ON *.* TO root@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
flush privileges;
# 进入docker
docker exec -it mysql5.7 bash
# 容器mysql部署路径
cd /var/lib/mysql
#启动、重启、停止、删除容器
docker start mysql5.7
docker restart mysql5.7
docker stop mysql5.7
docker rm mysql5.7

容器挂载本地配置和数据目录

1
2
3
4
5
docker run --name=mysql5.7 \
--mount type=bind,src=/opt/mysql.docker/my.cnf,dst=/etc/my.cnf \
--mount type=bind,src=/opt/mysql.docker/datadir,dst=/var/lib/mysql \
-p 3308:3306 \
-d mysql/mysql-server:5.7