mysql 回滚,撤销操作,恢复数据

来源:互联网 发布:mysql group having 编辑:程序博客网 时间:2024/04/26 14:32

在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将导出的语句执行一次。

1 0
原创粉丝点击