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