前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MySQL主从延迟的几个简单解决方案

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

作者头像
DBA札记
发布2023-08-04 12:24:12
1820
发布2023-08-04 12:24:12
举报
文章被收录于专栏:MySQL参数系列MySQL参数系列

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

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

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

代码语言:javascript
复制
show slave status\G

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

代码语言:javascript
复制
select * from mysql.heatbeat;

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

代码语言:javascript
复制
set global innodb_flush_log_at_trx_commit=0;  
set global sync_binlog=0;

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

代码语言:javascript
复制
set global innodb_flush_log_at_trx_commit=1;  
set global sync_binlog=1;

4、开启并行复制

代码语言:javascript
复制
-- 查看并行的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; 

大家还有什么好方法呢?欢迎留言讨论。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-03-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DBA札记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档