(一)mysqlbinlog工具介绍
binlog类型是二进制的,也就意味着我们没法直接打开看,MySQL提供了mysqlbinlog来查看二进制日志,该工具类似于Oracle的logminer。mysqlbinlog用法为
[root@masterdb binlog]# mysqlbinlog
Usage: mysqlbinlog [options] log-files
其中,常用的option选项如下:
option | 作用 |
-d , --database=name | 只列出指定数据库的操作 |
-o , --offset = n | 忽略日志前n行 |
-r , --result-file=name | 将输出的文本格式日志保存到文件 |
-v -vv |
-v :从binlog中重建sql语句 -vv:显示的SQL语句增加了注释,可以理解为-v的增强 |
--start-datetime=datetime --stop-datetime=datetime |
指定日期间隔内的所有日志 |
--start-position=position --stop-position=position |
指定位置间隔内的所有日志 |
(二)mysqlbinlog使用例子
(1)提取指定的binlog日志
mysqlbinlog /home/mysql/data/ins3308/binlog.000018
(2)提取指定position位置的binlog日志
mysqlbinlog --start-position=120 --stop-position=332 /home/mysql/data/ins3308/binlog.000018
(3)提取指定position位置的binlog日志并输出到压缩文件
mysqlbinlog --start-position=120 --stop-position=332 /home/mysql/data/ins3308/binlog.000018 |gzip >extra_01.sql.gz
(4)提取指定position位置的binlog日志导入数据库
mysqlbinlog --start-position=120 --stop-position=332 /home/mysql/data/ins3308/binlog.000018 | mysql -uroot -p
(5)提取指定开始时间的binlog并输出到日志文件