误删数据库怎么办?mysql 回滚,撤销操作,恢复数据

刚刚不小心把数据库删掉了,于是想着上网上找找有没有可以恢复数据库的方法,没想到还真有,除了备份以外,还有以下方法。

在mysql有时执行了错误的update或者delete时导致大量数据错误恢复的办法。执行时没有开启事务,也没有对数据进行。这时就需要使用到sqlbinlog工具。

sqlbinlog需要开启,具体的打开方法就不说了。

使用sqlbinlog会产生bin文件,恢复就需要用到这些文件。文件中记录着数据库的所有操作。(此方法的操作是将数据库之前所执行的语句重新执行一次,以达到恢复效果)

具体步骤:

1,先找到bin文件,一般都是在mysql的data文件夹中,结尾以.00000X等形式结束。

2,寻找需要还原的时间点  使用语句     mysqlbinlog  文件名      例(MySQLbinlog xxbin.000001)来查看内容,然后找到对应的具体时间

3,导出sql语句,使用语句      mysqlbinlog 文件名>sql文件路径    例(mysqlbinlog xxxbin,00001>>a.sql  | mysql -u root -p )  

如果需要指定时间导出--start--date -stop=''  --date='' 来导出指定时间执行的语句例(sqlbinlog --start-stop='2015-11-22 10:00:00'   xxbin.000001>a.sql  | mysql -u root -p )这句意思是导出在2015-11-22 10点之前的语句,反之start是导出时间之后的。  start和stop可以同时使用。

如果存在多个bin文件,则按照需要导出。

4,使用mysql将导出的语句执行一次

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
原文地址:
原文:https://blog.csdn.net/nanjoyoshino/article/details/50055437