mysql 能否 恢复某个表的数据到某个时间段之前

如题,因为误操作,使某个表的数据发生了混乱,能否恢复这个表的数据到操作前,我记得操作的时间,数据库版本为 mysql 5.7

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
最佳答案

bin-log~~

1年前 评论
lyl (楼主) 1年前
大头 (作者) 1年前
大头 (作者) 1年前
lyl (楼主) 1年前
讨论数量: 13

bin-log~~

1年前 评论
lyl (楼主) 1年前
大头 (作者) 1年前
大头 (作者) 1年前
lyl (楼主) 1年前

mysql -u root -p < dump_file
可能会看到
-- CHANGE MASTER TO MASTER_LOG_FILE='binlog.002003', MASTER_LOG_POS=96456;
再找到误操作的那个log_pos 比如 104342 跑
mysqlbinlog --start-position=96456 --stop-position=104342 binlog.002003 | mysql -u root -p
祝好运

1年前 评论

这个可能比较不太简单哦

1年前 评论
QIN秦同学

蹲下,楼主解决完,可否补充下详细解决步骤那。之前看过类似binlog恢复,但是感觉实操还是很麻烦。

1年前 评论
lyl (楼主) 1年前
lyl (楼主) 1年前
QIN秦同学 (作者) 1年前

对的,教程都是创建一个表,然后删除表,恢复的过程就是把日志里创建表的sql 又跑了一遍,只要找到 第几行,就可以只执行创建表的那个语句,把删除语句过滤掉

1年前 评论

这个东西最好还是经常演练,等真正有问题的时候再急着想办法就晚了,当然我的回答也是使用 binlog,可以考虑配合美团开源的 MyFlash 工具,理论上只需定位关键语句,操作即可

1年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!