关于mysql的binlog恢复数据库数据的相关总结

今天有人问我他们的数据库当中的表清空了怎么办,想到的方法就是使用binlog来恢复删除的数据。

关于binlog他是一个二进制的文件,要恢复需要通过转换成正常的sql脚本然后执行数据的恢复,或者采用管道流的方式执行(实际还是转换成脚本的形式执行)

(1)要读取binlog文件必须首先开启binlog日志查看方式如下:

查看binlog日志有没有开启
show variables like 'log_bin';

(2)查看binlog的目录在哪里

 ps -ef|grep mysql

(3)将二进制binlog转化成sql脚本文件

  mysqlbinlog mysql-bin.000002 >002.sql 

注意:这里要编辑文本当中的drop的语句,然后执行脚本,数据才能恢复

(4)将sql脚本执行导入到表当中(这里需要注意的是这个数据库必须存在)

  mysql -u root -p test < 002.sql

 至此数据库的数据别恢复了。

 具体参考下面链接:

https://www.cnblogs.com/kevingrace/p/5904800.html

https://www.cnblogs.com/martinzhang/p/3454358.html

 

猜你喜欢

转载自www.cnblogs.com/gxgd/p/10278522.html