MySQL 怎么用 binlog 恢复数据?
场景:误删数据、误改数据的时间点恢复。步骤:① 确认 binlog 开启且保留足够(binlog_format=ROW、expire_logs_days/ binlog_expire_logs_seconds);② 找到误操作前的 binlog 与位置:mysqlbinlog --no-defaults -v --base64-output=DECODE-ROWS binlog.0000xx | grep 关键词;③ 用 mysqlbinlog --start-position=xxx --stop-position=yyy 导出 SQL 到恢复文件;④ 恢复到临时实例验证后,再导入生产(或只回放误操作前的部分);⑤ 工具:binlog2sql(row 格式生成反向 SQL)、pt-table-checksum 校验。规范:恢复前先备份当前状态、在测试库演练。
一起交流
分享经验,让问题更进一步
讨论,从你的观点开始
还没有回复,欢迎补充经验或分享不同的思路。