场景:我们开发阶段,经常要有一些测试数据在我们测试相关功能的时候,是十分必要的.后期由于引入了正式的数据,但是测试数据并没有被及时清理.这个时候由于一个误删除,导致一些正式的数据被删除,由此,一场追找数据的过程就开始了...
解决方案:
1) 通过每天备份的日志进行查找,但是很不幸的是,我们由于没有正式上线,所以数据库的备份脚本一直没有执行中,故此路不通
2) 因为这些数据我是使用的脚本的方式每天跑任务刷进去的数据,所以,都有记录相应的日志,会将其整个过程都进行打印出来,于是,就开始查找相应的日志文件,但是不巧的是,那次的数据是手动执行掉的,没有相应的数据重定向到日志文件中, 故事就是这么狗血!!!
3) 没有其他的路了,只能借助强大的mysqlbinlog工具了
条件:
1. 确定你的binlog功能已经开启,因为安装成功MySQL之后,默认的是并不进行开启的,所以,可以进行查看是否开启
如果是On是开启的,如果没有开启则会显示OFF
2.如果是开启的情况
会在相应的目录下找到类似这样的文件:
3.将需要的文件进行恢复处理 因为你直接打开会显示的二进制的内容
mysqlbinlog --no-defaults C:UsersAdministratorDesktopmysql-bin.000042 > mysql_restore.sql
//mysql_restore.sql解析出来的SQL文件
接下来,就可以愉快的找回SQL了
常见错误:
1)
解决: --no-defaults