关于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