共计 1642 个字符,预计需要花费 5 分钟才能阅读完成。
准备环境:
os version:CentOS release 6.5 (Final)
服务器信息:
Master1:192.168.1.29
Master2:192.168.1.37
Slave:192.168.1.86
1, 修改 my.cnf
Slave 中的 my.cnf 加入以下参数
启用 enhanced multi-threaded slave(多线程复制)
slave-parallel-type=LOGICAL_CLOCK
slave-parallel-workers=8
master_info_repository=TABL
relay_log_info_repository=TABLE
relay_log_recovery=ON
可以通过以下监控并行复制
MySQL> show tables like ‘replication%’;
+———————————————+
| Tables_in_performance_schema (replication%) |
+———————————————+
| replication_applier_configuration |
| replication_applier_status |
| replication_applier_status_by_coordinator |
| replication_applier_status_by_worker |
| replication_connection_configuration |
| replication_connection_status |
| replication_group_member_stats |
| replication_group_members |
+———————————-
2,授权,在 master1 上和 master2 上授权,允许 slave 复制
3,change master
change master tomaster_host=”192.168.1.29″,master_port=3306,master_user=”root”,master_password=”Password@123456″FOR CHANNEL “master1”;
change master tomaster_host=”192.168.1.37″,master_port=3306,master_user=”root”,master_password=”Password@123456″FOR CHANNEL “master2”;
4, 启动 slave
start slave for channel “master1”;
start slave for channel “master2”;
MySQL 5.7 才可称为真正的并行复制,这其中最为主要的原因就是 slave 服务器的回放与主机是一致的即 master 服务器上是怎么并行执行的 slave 上就怎样进行并行回放。不再有库的并行复制限制,对于二进制日志格式也无特殊的要求(基于库的并行复制也没有要求)。
从 MySQL 官方来看,其并行复制的原本计划是支持表级的并行复制和行级的并行复制,行级的并行复制通过解析 ROW 格式的二进制日志的方式来完成,WL#4648。但是最终出现给小伙伴的确是在开发计划中称为:MTS: Prepared transactions slave parallel applier,可见:WL#6314。该并行复制的思想最早是由 MariaDB 的 Kristain 提出,并已在 MariaDB 10 中出现,相信很多选择 MariaDB 的小伙伴最为看重的功能之一就是并行复制。
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2016-12/138174.htm