【mysql】MySQL 主从同步延迟排查

文章目录

  • [1. Waiting for dependent transaction to commit](#1. Waiting for dependent transaction to commit)
    • [1.1. 排查步骤:](#1.1. 排查步骤:)
    • [1.2. 分析步骤输出的结果:](#1.2. 分析步骤输出的结果:)

1. Waiting for dependent transaction to commit

1.1. 排查步骤:

复制代码
1. 查看错误日志:
    ○ 从节点上执行:
		SHOW VARIABLES LIKE 'log_error';
2. 查看复制状态:
    ○ 从节点上执行:
		SHOW SLAVE STATUS;
3. 确认并行复制设置:
    ○ 从节点上执行:
		SHOW VARIABLES LIKE 'slave_parallel_workers';
4. 检查长事务:
    ○ 从节点上执行:
		SELECT * 
		FROM information_schema.innodb_trx 
		WHERE TIME_TO_SEC(timediff(now(),trx_started)) > 60; 
5. 查看主节点的 binlog:
    ○ 从节点上执行:
		SHOW MASTER STATUS;

1.2. 分析步骤输出的结果:

  • 错误日志:

    ○ 寻找与同步问题相关的错误消息或警告。

  • 复制状态:

    ○ SHOW SLAVE STATUS

    复制代码
      1.  Slave_IO_Running 和 Slave_SQL_Running:确保两者都为 "Yes",表示复制正在正常运行。
      2.  Slave_SQL_Running_State:显示 "Waiting for dependent transaction to commit",表示当前有一个事务正在等待依赖事务的提交。
      3.  Last_SQL_Error:查看错误信息。
  • 并行复制设置:

    ○ 确保 slave_parallel_workers 的值合适。如果值过高,可能会导致资源竞争,而值过低可能会导致性能下降。

  • 长事务:

    ○ 查询长时间运行的事务,可能会影响到复制的正常进行。

  • 主节点的 binlog:

    ○ 确保主节点的 binlog 文件没有被清理。从节点需要获取到所有的 binlog 才能保持同步。

相关推荐
SamDeepThinking10 小时前
裁掉那个差程序员后,给你看团队里高手的代码:这个习惯,希望你有
java·后端·程序员
朕瞧着你甚好11 小时前
技术雷达 & Java 集成评估报告 — Apache Tika 3.3.1
java·ai编程
vivo互联网技术11 小时前
从 10 分钟到 1 秒:ES 深度分页任意跳页的三轮优化实战
服务器·数据库·redis·elasticsearch·深度分页
数据技术说11 小时前
MySQL 迁移实战——如何实现真正的"零改造"平滑切换
mysql
MacroZheng12 小时前
短短几天,暴涨2.8万Star!又一款编程神器开源!
java·人工智能·后端
SamDeepThinking12 小时前
函数式编程:用BiFunction消除多类型分支的代码重复
java·后端·面试
倔强的石头_1 天前
《Kingbase护城河》——猎捕慢查询:执行计划的微观解析与索引调优实战
数据库
SelectDB1 天前
Apache Doris Python UDF:让 SQL 直接调用 Python 生态,支撑 Agent 时代复杂业务逻辑
大数据·数据库·python
Flittly1 天前
【AgentScope Java新手村系列】(16)从RAG到多路检索
java·spring boot·spring
小兔崽子去哪了1 天前
Java 生成二维码解决方案
java·后端