mysql 复制性能优化

本文介绍如何通过调整MySQL配置来优化主从复制过程,包括控制主库事务大小、使用混合二进制日志格式、启用多线程复制等手段,以减少主从延迟并提高系统效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

主库写入二进制日志的时间  比如执行一个事务要30秒,会记录到二进制日志中,然后在同步到从库上

控制主库的事务大小,分割大事务



影响主从延迟的因素

二进制日志传输时间

使用mixed 日志格式  set binlog_row_image=minimal;  减少复制的大小
默认情况下 从只有一个 sql线程,主上并发的修改在 从上变成了 串行。
从上 换成多线程复制    减少修改表结构的占用时间

mysql 5.7中 可以安装逻辑时钟的方式来 分配sql线程


从库  临时配置 多线程复制,重启mysql后,配置将不存在

stop slave
set global  slave_parallel_type= 'logical_clock';       逻辑时钟方式多线程复制
set global  slave_parallel_workers=4;

start  slave;


vi /etc/my.cnf     #配置永久生效的 多线程
slave-parallel-type=LOGICAL_CLOCK
slave-parallel-workers=4
master_info_repository=TABLE          
relay_log_info_repository=TABLE

relay_log_recovery=ON

这两个参数会将master.info和relay.info保存在表中  
#master_info_repository=TABLE          
relay_log_info_repository=TABLE   
#当slave从库宕机后,假如relay-log损坏了,导致一部分中继日志没有处理,则自动放弃所有未执行的relay-log,并且重新从master上获取日志,这#样就保证了relay-log的完整性。默认情况下该功能是关闭的,将relay_log_recovery的值设置为 1时,可在slave从库上开启该功能,建议开启

relay_log_recovery=ON


show processlist;     #查看复制进程,可以看到有4个 


show variables like 'slave_parallel_workers';  查看复制的进程数


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值