作者:余振兴
爱可生 DBA 团队成员,熟悉 Oracle、MySQL、MongoDB、Redis,最近在盘 TiDB,擅长架构设计、故障诊断、数据迁移、灾备构建等等。负责处理客户 MySQL 及我司自研 DMP 数据库管理平台日常运维中的问题。热衷技术分享、编写技术文档。
本文来源:原创投稿
*爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。
事件背景
事件背景
客户反馈在晚间数据跑批后,查询相关表的数据时,发现该表的部分数据在数据库中不存在,从应用跑批的日志来看,跑批未报错,且可查到日志中明确显示当时那批数据已插入到数据库中,需要帮忙分析这批数据丢失的原因。
备注:考虑信息敏感性,以下分析场景测试环境模拟,相关数据做以下说明
- 涉及的库表为
demo.t_dba_info表 - 丢失的数据为
insert into t_dba_info(name,age) values('zhenxing',20);这条记录
故障分析
1. 先登录数据库确认该条记录是否存在
显然,数据确实如客户所说,在数据库中不存在

2. 确认该条数据丢失的时间区间并解析binlog
这里我为模拟环境,直接在主库解析,生产环境建议都在从库解析避免对主库造成影响
利用Binlog解决数据丢失之谜

最低0.47元/天 解锁文章

621

被折叠的 条评论
为什么被折叠?



