事件背景
客户反馈在晚间数据跑批后,查询相关表的数据时,发现该表的部分数据在数据库中不存在,从应用跑批的日志来看,跑批未报错,且可查到日志中明确显示当时那批数据已插入到数据库中,需要帮忙分析这批数据丢失的原因...,客户生产环境是一主多从的架构,从库均没有这条记录存在, 可能性被排除
有没有可能这张表除了DML行为,还有DDL行为,如重建了,但重建后这批数据没有被重新插入该表,于是尝试解析binlog看对该表的DDL...,参数设置合理,不会由于单个binlog文件过大导致binlog解析时间过长,以及如binlog_rows_query_log_events参数的开启,使得在row模式下也可以明确记录下具体的SQL语句...max_binlog_size = 250M
binlog_rows_query_log_events = 1
备注:虽然binlog记录的信息足够多,但当故障原因定位后,由于其并未记录对该操作的IP...binlog中的数据
在解析DDL时无需加-v输出详细信息(加快解析速度)
如果开启了binlog_rows_query_log_events参数,需要用-vv参数才可显示具体的SQL语句