MySQL主从延迟的几个简单解决方案

2023年 7月 10日 80.5k 0

主从延迟是一个不大不小的问题。但是延迟非常大可能影响从库提供读或者发生故障主从切换后出现问题。个人的一点小经验分享给大家。

解决方案: 1、检查主从机器的IO状态,磁盘等硬件是否有问题 a.查看机器监控,查看主从io状态是否存在异常; b.检查机器磁盘状态; c.检查主从机器配置是否有差异。

2、登录数据库,查看状态信息,

show slave status\G

多看几次,看Second_behind_Master的参数值是否变化。如果在减小就说明业务在追。 如果有配置心跳表(pt-heartbeat等方案),也可以通过心跳表观察:

select * from mysql.heatbeat;

3、调整“双1”参数为“双0”,等待延迟追平调回“双1” #########双1 参数为0################

set global innodb_flush_log_at_trx_commit=0;  
set global sync_binlog=0;

#########双1参数 为1################

set global innodb_flush_log_at_trx_commit=1;  
set global sync_binlog=1;

4、开启并行复制

-- 查看并行的slave的线程的个数,默认是0.表示单线程   
show global variables like 'slave_parallel_workers';   
-- 根据实际情况保证开启多少线程  
set global slave_parallel_workers = 4;  
-- 设置并发复制的方式,默认是一个线程处理一个库,值为database(5.7以及之前版本)   
show global variables like '%slave_parallel_type%';  
-- 停止slave  
stop slave;  
-- 设置属性值(必须stop slave 设置)  
set global slave_parallel_type='logical_clock';  
-- 开启slave  
start slave;  
-- 查看线程数
show full processlist; 

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论