Loading
0

mysql通过Binlog日志恢复被删除的数据方法

一直想自己写一篇binlog日志恢复数据的方法,今天无意中发现一位博主写了一片文章,感觉可以,
未验证,先转载
首先,找到我要恢复的binlog文件。

时间跨度有点长,哈哈

我先找到我要恢复的那张数据表的创建时间。通过 mysqlbinlog 将binlog文件转成txt

./mysqlbinlog mysql-bin.000018 > 18.txt

查看 18.txt ,找到创建 t_source 表的位置点 4920627

 

./mysqlbinlog --start-position="4920507" mysql-bin.000018 | mysql -u root -p

回车输入正确的密码,开始执行

若有报错,会提示是在哪一行,自己查看就好了。一般的错误都是表已存在,id已存在,或者表不存在之类的

然后依次执行 19,20,21,....日志文件,可以一次指定多个日志文件哦

./mysqlbinlog mysql-bin.000019 mysql-bin.000020 mysql-bin.000021 | mysql -u root -p

最后查看 mysql-bin.000028 文件的结束点,也就是我执行导入覆盖的记录点,防止再次执行覆盖

./mysqlbinlog --stop-position="2270134" mysql-bin.000028 | mysql -u root -p

OK,大功告成,所有的记录都回来了。

然后我又做好了自动备份bash文件。

同志们,一定记得要备份啊~~~,binlog恢复还是有点麻烦的

声明:站长码字很辛苦啊,转载时请保留本声明及附带文章链接:http://blog.tag.gg/showinfo-13-35793-0.html
上一篇:Mysql启动异常innodb引擎数据库损坏修复方法及流程
下一篇:宝塔mysql:ERROR! MySQL server PID file could not be found pid解决方法