MySQL工具【mysqlbinlog 日志管理】

本文介绍了如何使用mysqlbinlog工具管理MySQL的二进制日志,包括显示日志内容、筛选特定数据库操作、忽略指定数量的命令、将输出重定向到文件、以简洁格式显示日志以及按时间或位置间隔提取日志。示例展示了不同选项的用法,如`-d`用于指定数据库,`-o`忽略前n行,`-r`输出到文件,`-s`简化显示,`--start-datetime`和`--stop-datetime`选择时间范围,以及`--start-position`和`--stop-position`选择位置范围。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

01. mysqlbinlog 日志管理

由于服务器生成的二进制日志文件以二进制格式保存,所以如果想检查这些文件的文本格式,就会用到 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 file
ROLLBACK /* 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 file
ROLLBACK /* 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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值