简介
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:主节点的名字