如题,很多时候会出现我们意想不到的情况,比如在MySQL在update数据库之后后悔了,或者发现update错了,怎么撤回?还有就是MySQL误删数据库如何进行恢复?这种问题在处理的时候一般分三种情况,一有备份,二有日志无备份,三无日志无备份
工具/原料
1
电脑
2
MySQL
3
mysqlbinlog
4
navicat等可视化工具
创建示例数据
有备份的情况下
1
使用Navicat备份一下数据库
2
修改一下数据
3
哎呀发现改错了,只要恢复备份就行了
没有备份,但是开启了日志的情况下
1
开启了日志有两种恢复数据的方法按位置进行恢复 主要参数[–stop-position –start-position]按时间点进行恢复 主要参数 [–stop-datetime –start-datetime]
2
首先我们来看看现有的二进制文件SHOW BINARY LOGS
3
使用mysqlbinlog查看二进制日志,分析日志文件,找到最后数据正确的日志位置,小编的是175。
4
修改数据,再看看当前日志位置,分析日志文件,找到错误语句执行的部分,小编的是430。
5
执行命令恢复数据mysqlbinlog -stop-position=430 -start-position=175 E:\phpStudy\PHPTutorial\MySQL\data\DEEP-17-bin.000001 | mysql -u root -p
6
按时间点进行恢复的,大家自己试试吧。
无日志无备份的处理情况
1.简单的数据靠记忆逐行修改2.复杂的不做备份不开日志你自己自求多福吧
注意事项
1
本文为了方便截图使用的是windows系统
2
重点是分析日志的能力还有做好备份,这种东西教不了,只能靠自己练习