设为首页 加入收藏

TOP

MySQL 5.7多源复制及并行复制功能
2016-12-12 08:15:12 】 浏览:2249
Tags:MySQL 5.7 复制 并行 功能

准备环境:


服务器信息:


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的小伙伴最为看重的功能之一就是并行复制。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇MySQL 5.7传统复制到GTID复制的在.. 下一篇MySQL 5.7多源复制(Multi-Source ..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目