使用 mysqlbinlog 恢复数据的方法

binlog就是一个记录SQL语句的过程,和普通的LOG不一样的是二进制存储,普通的是十进制存储。

1、在mysql配置文件开启bin-log

在mysql配置文件中添加如下一行(如果已经存在次行,将前面的注释去掉即可)


    

然后重新启动MSYQL服务。二进制文件里面的东西显示的就是执行所有语句的详细记录,不会记录SELECT和没有实际更新的UPDATE语句。

2、查看自己的BINLOG的名字

MySQL [ning]> show binlog events;
+------------------+-----+-------------+-----------+-------------+---------------------------------------+
| Log_name         | Pos | Event_type  | Server_id | End_log_pos | Info                                  |
+------------------+-----+-------------+-----------+-------------+---------------------------------------+
| mysql-bin.000004 |   4 | Format_desc |         1 |         120 | Server ver: 5.6.29-log, Binlog ver: 4 |
| mysql-bin.000004 | 120 | Stop        |         1 |         143 |                                       |
+------------------+-----+-------------+-----------+-------------+---------------------------------------+
2 rows in set (0.00 sec)

3、使用mysqlbinlog 工具操作binlog
将binglog导入test.txt文件

mysqlbinlog --start-position=120 --stop-position=143 /data/mysql/mysql-bin.000004 > test.txt

将binglog直接导入数据库

mysqlbinlog --start-position=120 --stop-position=143 /data/mysql/mysql-bin.000004 | mysql -uroot -p
    原文作者:SQL
    原文地址: https://juejin.im/entry/57640500a341310064cc486e
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞