MySql的MGR集群部署
主要参考文件
【MySQL】—基于Docker安装部署MySQL8.0高可用之MGR集群 - 简书
原理介绍主要参考文档
mysql实战之mgr集群_mysql mgr-CSDN博客
1、启动docker
systemctl start docker
2、拉取镜像
docker pull mysql:8.0.20
3、网络配置
主master |
从slave1 |
从slave2 |
hostname master-host; bash; |
hostname slave1-host; bash; |
hostname slave2-host; bash; |
三台主机下
vi /etc/hosts
192.168.247.128 master-host
192.168.247.129 slave1-host
192.168.247.130 slave2-host
4、配置文件修改
mkdir docker/mysql/conf/my.cnf
mkdir docker/mysql/data/
详见附录
上传修改的文件······
5、创建容器:
主站master
docker run -d --name mysql-mgr-master -h mysql-mgr-master \
-p 13066:3306 -p 33011:33011 \
--network=host \
-v /docker/mysql/conf/my-master.cnf:/etc/mysql/my.cnf -v /docker/mysql/data:/var/lib/mysql/ \
-e MYSQL_ROOT_PASSWORD=admin123456 \
-e TZ=Asia/Shanghai \
--privileged=true mysql:8.0.20
从站1
docker run -d --name mysql-mgr-slave01 -h mysql-mgr-slave01 \
--network=host \
-v /docker/mysql/conf/my-slave1.cnf:/etc/mysql/my.cnf -v /docker/mysql/data:/var/lib/mysql/ \
-e MYSQL_ROOT_PASSWORD=admin123456 \
-e TZ=Asia/Shanghai \
--privileged=true mysql:8.0.20
从站2
docker run -d --name mysql-mgr-slave02 -h mysql-mgr-slave02 \
--network=host \
-v /docker/mysql/conf/my-slave2.cnf:/etc/mysql/my.cnf -v /docker/mysql/data:/var/lib/mysql/ \
-e MYSQL_ROOT_PASSWORD=admin123456 \
-e TZ=Asia/Shanghai \
--privileged=true mysql:8.0.20
重启容器
docker restart `docker ps -a |grep mysql-mgr |awk -F " " '{print $1}'`
docker start mysql-mgr-master
docker start mysql-mgr-slave01
docker start mysql-mgr-slave02