您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
免费发信息
三六零分类信息网 > 荆门分类信息网,免费分类信息发布

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

2024/2/27 0:13:22发布11次查看
今天本地部署一个新项目,结果不小心把另外一个库的表全删了,当时那个心啊,用了一些硬盘恢复的工具也没找回来,只好想别的办法了,还好记录了binlog,总算是把数据都还原了。以后真的要看清楚再删,还好是本地的文章库,不是服务器上的库,要不真就麻烦了
今天本地部署一个新项目,结果不小心把另外一个库的表全删了,当时那个心啊,用了一些硬盘恢复的工具也没找回来,只好想别的办法了,还好记录了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
荆门分类信息网,免费分类信息发布

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录