主库“写入过 binlog,但后来主库 binlog 文件里看不到了”

典型场景是:

  • 主库事务提交时 binlog 已经写到 OS page cache 或 MySQL binlog 文件缓冲;
  • binlog dump 线程已经把这些 event 发给从库;
  • 从库 IO/SQL 线程收到并执行;
  • 从库开启了 log_slave_updates,所以这些 event 又写进了从库自己的 binlog;
  • 随后主库宕机;
  • 由于主库 sync_binlog != 1,或者底层存储/文件系统没有真正持久化,主库恢复后 binlog 被截断或丢失尾部 event。

这时就会看到:从库 binlog 有这些事务,但主库当前 binlog 文件没有。

所以一句话结论是:

"主库写过但未持久化,复制已发出,主库 crash 后 binlog 丢了,而从库保留了"是可能的。

如果你是在排查真实故障,重点看这些配置和证据:

  • 主库 sync_binlog
  • 主库 innodb_flush_log_at_trx_commit
  • 是否开启半同步,以及 rpl_semi_sync_source_wait_point
  • 主库是否发生过 crash/restart
  • 主库 error log 是否有 binlog truncation / crash recovery 记录
  • 从库 relay log / binlog 中 event 的 GTID 或 position 是否超过主库当前 binlog 末尾
相关推荐
小白男神3 天前
MySQL进阶学习四(存储过程、游标、触发器)
mysql
这个DBA有点耶3 天前
MVCC深入:Read View、版本链与快照读——InnoDB并发控制的内核
数据库·mysql·架构
DBA_G3 天前
从地面到云霄:GBase数据库在民航三大场景的落地实践
数据库
自由能燃气设备3 天前
商用全预混低氮冷凝锅炉免费方案vs付费方案对比+选型避坑指南
大数据·数据库·人工智能
科创致远3 天前
科创致远 ESOP 系统核心效能与实战价值展示
大数据·数据库·人工智能·精益工程
kybs19913 天前
全球灾害数据分析可视化 毕业设计-附源码66794
vue.js·spring boot·mysql·安全·django·c#·asp.net
2601_962218613 天前
万象生鲜系统称重自动多退少补算法解决生鲜非标品痛点
大数据·数据库·人工智能·python·算法
程序猿_极客3 天前
【免费】分享一套优质的基于SSM的校园失物招领系统的设计与实现,源码+文档+视频详解(讲解)
java·mysql·ssm·课程设计·失物招领系统
张洛闻Eren3 天前
k8s云原生【第十课】:水平 Pod 自动扩缩容
运维·数据库·云原生·kubernetes·github
于平安3 天前
MySQL-触发器
数据库·mysql