当前位置: 首页 > news >正文

mysql复制延迟如何处理

一、复制延迟的原因

  • 主库增删改并发大
  • 大表在做DDL
  • 从库备份导致延迟
  • 大事务
  • 从库机器配置差

二、怎样判断延迟

使用 SHOW SLAVE STATUS 命令

  • Seconds_Behind_Master:表示从库落后主库的秒数(若为 NULL,可能复制线程已停止)
  • 对比位点
字段名含义说明
Master_Log_File从库的 IO 线程正在读取的主库 binlog 文件名
Read_Master_Log_Pos从库的 IO 线程已读取到的主库 binlog 位点
Relay_Master_Log_File从库的 SQL 线程正在执行的事务对应的主库 binlog 文件名
Exec_Master_Log_Pos从库的 SQL 线程已执行到的主库 binlog 位点
  • 对比GTID
字段名说明
Auto_Position为 1 表示启用了 GTID 复制
Retrieved_Gtid_Set从库已接收的所有事务的 GTID 集合
Executed_Gtid_Set从库已执行的所有事务的 GTID 集合

 无延迟
Retrieved_Gtid_Set == Executed_Gtid_Set,表示从库已全部执行完主库传来的事务。

有延迟
Executed_Gtid_SetRetrieved_Gtid_Set真子集,说明还有事务未执行完。

三、主从延迟处理方法

1、开启多线程

2、调整一些MySQL的参数

以下是对 innodb_flush_log_at_trx_commitsync_binlog 两个参数的表格形式介绍,以及在主从因 IO 延迟时的建议:

参数名称允许值描述建议(主从 IO 延迟场景)
innodb_flush_log_at_trx_commit0, 1, 2控制 InnoDB Redo Log 的写盘策略:

建议设置为 2(性能与安全的折中),可减少主从 IO 延迟 。
sync_binlog0, 1, N控制 Binlog 的同步策略:

建议设置为 1000(或类似值),可减少主从 IO 延迟,但需接受一定数据丢失风险 。

3、 调整从库配置

4、避免大事务

5、使用PT工具执行耗时较长的DDL

6、调整架构

http://www.dtcms.com/a/286683.html

相关文章:

  • js中的微任务和宏任务的理解
  • python 实现将文件的非零数据扇区进行提取,并以偏移地址进行命名保存
  • AI(day10)模块化编程概念(模块、包、导入)及常见系统模块总结和第三方模块管理
  • AE PDW2200电源射频手侧使用安装说明含电路图
  • 70 gdb attach $pid, process 2021 is already traced by process 2019
  • 反序列化漏洞3-反序列化漏洞讲解演示
  • 4. PyQGIS整体框架详解
  • Agent AI(3):Agent分类
  • day30——零基础学嵌入式之线程2.0
  • 多线程-2-线程间通信
  • 推荐算法召回:架构理解
  • 【RK3576】【Android14】开发环境搭建
  • Windows 下 VS2019 编译 libevent-2.1.10 库
  • React 实现人员列表多选、全选与取消全选功能
  • 大疆司空2私有化部署报错解决方案
  • 谷歌浏览器Chrome的多用户配置文件功能
  • Python分组柱形图绘制全攻略
  • 题解:CF1866D Digital Wallet
  • 熔断和降*的区别
  • 使用pt-toolkit工具包进行MySQL性能优化实战指南
  • 算法训练营day24 回溯算法③ 93.复原IP地址 、78.子集、 90.子集II
  • AWS SSL证书无缝迁移完整指南 - 零业务中断方案
  • Python 进程间通信:TCP安全加密数据传输
  • H3CNE小小综合实验
  • 模拟数据生成---使用NGS数据模拟软件VarBen
  • SLM343CK-DG Sillumin数明半导体高性能LED驱动芯片 抗干扰+耐高温 车载照明专用
  • 二叉树(建立 + 遍历 + 拓展)
  • 外部DLL创建及使用
  • 灵巧手(具身智能入门十一)
  • if (a == 1 a == 2 a == 3)返回true的问题思考