Centos7通过Docker搭建Replication集群

简介

Replication集群是Mysql自带的数据同步机制;
Mysql通过读取、执行另一个Mysql的bin_log日志,实现数据同步;
集群中数据同步是单项的,从主节点(Master)同步到从节点(Slave)

安装

oracle没有提供官方的Replication镜像,所以只能安装第三方的。

docker pull mishamx/mysql
docker tag mishamx/mysql rep
docker rmi mishamx/mysql

创建主节点

主节点用来与其他节点之间的同步,而且主节点固定不变。

docker run -d -p 9003:3306 --name rn1 -e MYSQL_MASTER_PORT=3306 -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_REPLICATION_USER=backup -e MYSQL_REPLICATION_PASSWORD=123456 -v rnv1:/var/lib/mysql --privileged --net=swarm_mysql rep

MYSQL_ROOT_PASSWORD=123456:数据库root账户密码
MYSQL_REPLICATION_USER=backup:数据同步账户的用户名
MYSQL_REPLICATION_PASSWORD=123456:数据同步账户的密码

创建从节点

从节点需要与主节点同步数据,没有主节点不能创建从节点

docker run -d -p 9003:3306 --name rn2 -e MYSQL_MASTER_HOST=rn1 -e MYSQL_MASTER_PORT=3306 -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_REPLICATION_USER=backup -e MYSQL_REPLICATION_PASSWORD=123456 -v rnv2:/var/lib/mysql --privileged --net=swarm_mysql rep

MYSQL_MASTER_HOST=rn1:主节点的名字

注意事项

主节点关闭,从节点依然可以使用,只是主从机制失效
不启动主节点,从节点也能启动,只是主从机制失效

你可能感兴趣的:(Mysql,mysql)