一直想自己写一篇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,....日志文件,可以一次指定多个日志文件哦
最后查看 mysql-bin.000028 文件的结束点,也就是我执行导入覆盖的记录点,防止再次执行覆盖./mysqlbinlog mysql-bin.000019 mysql-bin.000020 mysql-bin.000021 | mysql -u root -p
./mysqlbinlog --stop-position="2270134" mysql-bin.000028 | mysql -u root -p
OK,大功告成,所有的记录都回来了。
然后我又做好了自动备份bash文件。
同志们,一定记得要备份啊~~~,binlog恢复还是有点麻烦的
本内容为博主原创,转载请注明出处。本文链接 https://blog.jam00.com/article/info/8.html
亲爱的:被墙域名跳转TG:@qianhenetwork QQ:851617266,可否收藏+评论+分享呢?
文章评论 本文章有个评论