MySQL多线程复制

MySQL的多线程复制不是一个新的东西,在5,7之前就已经有了,在5.7上进行了增强;
多线程复制可以减轻主从复制的延迟;

一个线程只能针对一个数据库进行复制,显得有些鸡肋;大部分操作有可能都是对一个库的操作;

MySQL5.7的多线程复制可以看做是基于table的,这样就可以提高效率;

第一步:在slave上停止复制链路;
第二步:

  • 设置多线程复制方式位逻辑时钟,slave上相同的logic_clock可以并发复制;
set global slave_parallel_type='logic_clock'
  • 设置并发的工作线程数量
set global slave_parallel_workers=CPU_NUM;

这里写图片描述

实验:

在slave端查看并发方式:

mysql> show variables like 'slave_parallel%'
    -> ;
+------------------------+----------+
| Variable_name          | Value    |
+------------------------+----------+
| slave_parallel_type    | DATABASE |
| slave_parallel_workers | 0        |
+------------------------+----------+
2 rows in set (0.01 sec)

修改并发方式位逻辑时钟的方式:

mysql> show variables like 'slave_parallel%';
+------------------------+----------+
| Variable_name          | Value    |
+------------------------+----------+
| slave_parallel_type    | DATABASE |
| slave_parallel_workers | 0        |
+------------------------+----------+
2 rows in set (0.00 sec)

mysql> stop slave;
Query OK, 0 rows affected (0.00 sec)
mysql> set global slave_parallel_workers = 2;
Query OK, 0 rows affected (0.00 sec)

mysql> start slave;
Query OK, 0 rows affected (0.01 sec)

mysql> show processlist;

mysql> show slave status\G;
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 192.168.31.157
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值