本文共 1826 字,大约阅读时间需要 6 分钟。
由于服务器生成的二进制日志文件以二进制格式保存,所以如果想检查这些文件的文本格式,就会用到 mysqlbinlog 日志管理工具。更多的选项使用 mysqlbinlog --help 查看。
-d, --database=name 指定数据库名称,只列出指定的数据库相关操作-o, --offset=n 忽略日志中的前n行命令-r, --result-file=name 将输出的文本格式日志输出到指定文件-s, --short-form 显示简单格式,省略掉一些信息--set-charset=char-name 输出为文本格式时,在文件第一行加上 set names char-name,这个选项在某些情况下装载数据时非常有用--start-datetime=name 指定日期间隔开始位置,开始输出日志--stop-datetime=name 指定日期间隔停止位置,停止输出日志--start-position=N1 指定位置间隔开始位置,开始输出日志--stop-position=N2 指定位置间隔停止位置,停止输出日志
显示日志全部内容
[root@ufo128 mysql]# mysqlbinlog ib_logfile0/*!40019 SET @@session.max_insert_delayed_threads=0*/;/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;DELIMITER /*!*/;ERROR: File is not a binary log file.DELIMITER ;# End of log fileROLLBACK /* added by mysqlbinlog */;/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;[root@ufo128 mysql]# mysqlbinlog -vv ib_logfile0/*!40019 SET @@session.max_insert_delayed_threads=0*/;/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;DELIMITER /*!*/;ERROR: File is not a binary log file.DELIMITER ;# End of log fileROLLBACK /* added by mysqlbinlog */;/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
加-d,显示某个数据库的操作日志
[root@ufo128 mysql]# mysqlbinlog -vv ib_logfile0 -d test
结合过滤,查看对某张表的操作
[root@ufo128 mysql]# mysqlbinlog -vv ib_logfile0 -d test | grep AAA | more
加-o,忽略掉前n个操作
[root@ufo128 mysql]# mysqlbinlog -vv ib_logfile0 -o 3
加-r,将结果输出到文件
[root@ufo128 mysql]# mysqlbinlog -vv ib_logfile0 -o 3 -r output.log
加-s,精简显示
[root@ufo128 mysql]# mysqlbinlog -vv ib_logfile0 -d test -s
显示时间间隔内的日志
[root@ufo128 mysql]# mysqlbinlog -vv ib_logfile0 -d test --start-datetime='2021/02/17 00:00:00' --stop-datetime='2021/02/18 00:00:00'
显示位置间隔内的日志
[root@ufo128 mysql]# mysqlbinlog -vv ib_logfile0 -d test --start-position=4 --stop-position=196
转载地址:http://fahi.baihongyu.com/