故障分析 MySQL 数据”丢失”事件之 binlog 解析应用一则

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了故障分析 MySQL 数据”丢失”事件之 binlog 解析应用一则相关的知识,希望对你有一定的参考价值。

参考技术A

备注:考虑信息敏感性,以下分析场景测试环境模拟,相关数据做以下说明

发现了一些端倪,在mysql-bin.000004中有对该表的2次truncate操作,等等,好像发现了什么,那条丢失的数据也是在这个mysql-bin.000004文件中,梳理下逻辑,难道那条记录在2次truncate之间,于是单独对这个binlog做详细解析,得到以下信息

到此基本了解了这条记录为何会诡异丢失了 ,与客户确认跑批灌数据的逻辑,了解到会对该表做truncate,但由于 误操作 ,在跑批开始后,又触发了一轮truncate行为,导致已经插入到该表的部分数据再次被清理了,也就导致了在解析binlog时部分记录丢失了,但并未观测到有删除的行为,而是被truncate方式清理.

备注 :虽然binlog记录的信息足够多,但当故障原因定位后,由于其并未记录 对该操作的IP及用户 信息,如果不开审计,也只能知道发生了该行为,但无法具体定位触发该行为的"人".

以上是关于故障分析 MySQL 数据”丢失”事件之 binlog 解析应用一则的主要内容,如果未能解决你的问题,请参考以下文章

mysql主从复制故障分析

mysql备份与恢复

恢复linux reiserfs文件系统损坏丢失的数据

MySQL数据库的主从备份和读写分离

MySQL数据库的主从备份和读写分离

MySQL数据库的主从备份和读写分离