您的位置:首页 > 博客中心 > 数据库 >

不能再手贱了,用mysqlbinlog恢复数据

时间:2022-03-14 03:23

今天本地部署新项目,结果不小心把另外一个库的表全删了,当时那个心啊,用了一些硬盘的工具也没找回来,只好想别的办法了,还好了binlog,总算是把数据都还原了。以后真的要看清楚再删,还好是本地的库,不是服务器上的库,要不真就麻烦了,不过也正是因为是电脑上的库,从来不的,所以恢复起来也确实麻烦。在这里记录一下。

 

先确认你的MYSQL有没有启用bin,就是看下mysql.ini(my.cnf)里的log-bin=mysql-bin,自定义一个目录和前缀名,比如/data/log/mylog这样。

 

然后在数据库文件存放的data目录就能看到mysql-bin.00000x这样的文件,这就是二进制日志了,我们可以导出成txt格式的,里面其实就是对数据库的各种操作SQL语句。

 

导出txt文件:

 

E:\wamp\bin\mysql\mysql5.6.12\bin>mysqlbinlog --database=testdatabase E:\wamp\bin\mysql\mysql5.6.12\data\mysql-bin.000312 > C:\\test1.txt

这是WINDOWS下的导出,linux也是类似的。

*--database=数据库名

*从最早的日志还始还原

*linux下可以很方便的mysql-bin.000*

*可以加参数开始时间和结束时间,就是你执行那条SQL语句的时间

*--start-datetime="2014-12-04 11:25:56" --stop-datetime="2014-12-04 13:23:50"  


恢复数据:

 

E:\wamp\bin\mysql\mysql5.6.12\bin>mysqlbinlog --database=yundongchao E:\wamp\bin\mysql\mysql5.6.12\data\mysql-bin.000179 | mysql -u root -p


------------------------------------------------

我的独立博客:壊小子 - 

本文链接:

健身潮:

欢迎转载,转载请注明本文来源。

热门排行

今日推荐

热门手游