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

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

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
最佳答案

bin-log~~

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

bin-log~~

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

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
祝好运

3年前 评论

这个可能比较不太简单哦

3年前 评论
QIN秦同学

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

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

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

3年前 评论

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

3年前 评论

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