mysql 5.7开启并行复制

开启多线程复制,默认关键的参数有两个:

mysql> show variables like 'slave_parallel_%';

+------------------------+---------------+

| Variable_name          | Value         |

+------------------------+---------------+

| slave_parallel_type    | database |

| slave_parallel_workers | 0             |

+------------------------+---------------+

2 rows in set (0.00 sec)

slave-parallel-type        默认值为database

slave-parallel-workers      默认值为0

在线开启:

mysql> stop slave sql_thread;

Query OK, 0 rows affected (0.07 sec)

mysql> set global slave_parallel_type='LOGICAL_CLOCK';

Query OK, 0 rows affected (0.00 sec)

mysql> set global slave_parallel_workers=4;

Query OK, 0 rows affected (0.00 sec)

mysql> start slave sql_thread;

Query OK, 0 rows affected (0.06 sec)

优化选项:

启用table模式是因为如果在多线程模式下,会频繁更新master.info文件,消耗代价过高,并且此值也不是非常准确

master_info_repository=table  对应的表为mysql.slave_master_info

relay_log_recovery=on          

relay_log_info_repository=table 对应的表为mysql.slave_relay_log_info

 

说了这么多,要开启enhanced multi-threaded slave其实很简单,只需根据如下设置:

1
2
3
4
5
6
# slave
slave-parallel-type=LOGICAL_CLOCK
slave-parallel-workers=16
master_info_repository=TABLE
relay_log_info_repository=TABLE
relay_log_recovery=ON

  

posted @   zping  阅读(2375)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示