多主一从,也称为多源复制,数据流向:
-
主库1 -> 从库s
-
主库2 -> 从库s
-
主库n -> 从库s
应用场景
-
数据汇总,可将多个主数据库同步汇总到一个从数据库中,方便数据统计分析。
-
读写分离,从库只用于查询,提高数据库整体性能。
部署环境
注:使用docker部署mysql实例,方便快速搭建演示环境。但本文重点是讲解主从配置,因此简略描述docker环境构建mysql容器实例。
-
数据库:MySQL 5.7.x (相比5.5,5.6而言,5.7同步性能更好,支持多源复制,可实现多主一从,主从库版本应保证一致)
-
操作系统:CentOS 7.x
-
容器:Docker 17.09.0-ce
-
镜像:mysql:5.7
-
主库300:IP=192.168.10.212; PORT=4300; server-id=300; database=test3; table=user
-
主库400:IP=192.168.10.212; PORT=4400; server-id=400; database=test4; table=user
-
主库500:IP=192.168.10.212; PORT=4500; server-id=500; database=test5; table=user
-
从库10345:IP=192.168.10.212; PORT=4345; server-id=10345; database=test3,test4,test5; table=user
配置约束
-
主从库必须保证网络畅通可访问
-
主库必须开启binlog日志
-
主从库的server-id必须不同
【主库300】操作及配置
配置my.cnf
安装启动
注:若不熟悉docker,可使用传统方式安装mysql,效果相同。
创建授权用户
<