并行复制

并行复制
5.6开启并行复制
mysql> stop slave;
mysql> set global slave_parallel_workers=4;
mysql> start slave;
核心思想是:不同schema下的表并发提交时的数据不会相互影响,即slave节点可以用对relay log中不同的schema各分配一个类似SQL功能的线程,
来重放relay log中主库已经提交的事务,保持数据与主库一致。

5.7开启并行复制
mysql> stop slave;
mysql> set global slave_parallel_workers=4;
mysql> set global slave_parallel_type='LOGICAL_CLOCK';
mysql> start slave;
在MySQL 5.7中,引入了基于组提交的并行复制(Enhanced Multi-threaded Slaves),设置参数slave_parallel_workers>0并且global.slave_parallel_type='LOGICAL_CLOCK',
即可支持一个schema下,slave_parallel_workers个的worker线程并发执行relay log中主库提交的事务。
核心思想:一个组提交的事务都是可以并行回放(配合binary log group commit);
slave机器的relay log中last_committed相同的事务(sequence_num不同)可以并发执行。
其中,变量slave-parallel-type可以有两个值:DATABASE默认值,基于库的并行复制方式;LOGICAL_CLOCK:基于组提交的并行复制方式

猜你喜欢

转载自www.cnblogs.com/allenhu320/p/11316288.html
今日推荐