Replication集群搭建

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节点,只能采用分布式事务机制。

水平切分可以采用分区进行实现,集群扩容困难。增加分片,成本大,主要通过冷热数据分离。

项目迭代升级先采用水平切分,然后通过分库分表中间件增加系统容量。先水平切分,再垂直切分。

 

posted on 2020-03-23 20:58  清浊  阅读(368)  评论(0编辑  收藏  举报