文章目录
一、Docker部署Mysql主从复制
1、拉取镜像
docker pull mysql:5.7
- 查看镜像
docker images # 查看镜像
2、启动镜像
要实现主从复制,那么需要有两个MySQL服务,所以我们启动两个容器
先启动mysql01容器:(即之后的主机) 主机端口为 3310
docker run -d -p 3310:3306 -v /home/mysql/node-1/config:/etc/mysql/conf.d -v /home/mysql/node-1/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql01 mysql:5.7
再启动mysql02容器:(即之后的从机) 从机端口为 3311
docker run -d -p 3311:3306 -v /home/mysql/node-2/config:/etc/mysql/conf.d -v /home/mysql/node-2/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql02 mysql:5.7
命令解释:
-d: 后台运行容器,并返回容器ID
-p 3311:3306 :将容器的3306端口映射到宿主机3310端口
-e MYSQL_ROOT_PASSWORD=123456 :配置数据库连接密码
-v /home/mysql/node-2/config:/etc/mysql/ :将配置文件夹挂载到宿主机
–name mysql01(02):将容器命名为 mysql01(02)
- 查看全部容器
docker ps -a #查看全部容器(运行中加未运行的)
正常启动!!
3、连接测试
测试启动成功后,我们再来进行下一步。
4、编写主从复制配置文件
之前我们启动的时候写了这句
-v /home/mysql/node-1/config:/etc/mysql/
,将mysql
的配置文件夹和宿主机的文件夹挂载起来的。
那么我们就可以直接在宿主机下的/home/mysql/node-1/config/
编写配置文件了。
4.1、编写主机配置文件
我们先编写主机上的配置文件:
vim my.cnf
然后直接将下面主机的配置文件复制上去即可:
[mysqld]
#修改配置文件:vim /etc/my.cnf
#主服务器唯一ID
server-id=1
#启用二进制日志
log-bin=mysql-bin
#设置不要复制的数据库(可设置多个)
binlog-ignore-db=mysql
binlog-ignore-db<