MySQL基于备份库与 binlog 的组合恢复方案
这篇文章记录了一次 MySQL 误更新后的完整恢复过程:由于执行了未加 WHERE 条件的 UPDATE 语句,业务表中 379 条记录被错误覆盖,且事务已提交,无法回滚。作者先通过备份前的安全导出保留现场,再确认 MySQL 开启了 ROW + FULL 模式的 binlog,为后续找回误更新前的数据提供了关键条件。 恢复方案采用“备份库 + binlog”组合处理:先将昨天的全量备份导入临时恢复库,按主键回填 367 条历史数据;剩余 12 条因属于当天新增、备份中不存在,只能通过导出误操作时间段的 binlog,提取 UPDATE 前的旧值,再生成恢复 SQL 逐条修正。文章不仅讲清了排查和恢复思路,也强调了误操作后的备份兜底、binlog 配置检查以及 NULL 值恢复等实战细节,非常适合作为 MySQL 数据恢复的运维参考。
18 min readREAD MORE