Repliaction是mysql自带数据库同步机制
mysql通过读取另外一个数据库的bin_log日志实现数据同步,数据同步是单向的,从主节点到从节点。
下载第三方镜像
docker pull mishamx/mysql
docker tag mishamx/mysql RP
docker rmi mishamx/mysql
docker run -d -p 9003:3306 --name rn1 -e MYSQL_MASTER_PORT=3306 -e MYSQL_ROOT_PASSWORD=123 -e MYSQL_REPLICATION_USER=backup -e MYSQL_REPLICATION_PASSWORD=123 -v rnv1:/var/lib/mysql --privileged --net=swarm_mysql rep
创建从节点
docker run -d -p 9003:3306 --name rn2 -e MYSQL_MASTER_HOST= rn1 -e MYSQL_MASTER_PORT=3306 -e MYSQL_ROOT_PASSWORD=123 -e MYSQL_REPLICATION_USER=backup -e MYSQL_REPLICATION_PASSWORD=123 -v rnv1:/var/lib/mysql --privileged --net=swarm_mysql rep
处于降低数据库负载和缩表的目的,通常我们要对单节点mysql数据库做切分,垂直切分降低负载,水平切分锁表。无法做跨节点表连接查询,只能通过接口解决,跨mysql节点,只能采用分布式事务机制。
水平切分可以采用分区进行实现,集群扩容困难。增加分片,成本大,主要通过冷热数据分离。
项目迭代升级先采用水平切分,然后通过分库分表中间件增加系统容量。先水平切分,再垂直切分。
来源:https://www.cnblogs.com/xiaofeiyang/p/12555010.html