mysqlbinlog命令工具的使用

使用语法
mysqlbinlog [options] log-files

常用参数说明

参数描述
-?, --help帮助信息
--base64-output=name输出格式,‘auto’:默认自动;‘never’:以binlog事件格式输出;‘decode-rows’:以注释方式输出pseudo-SQL
-d, --database=name只列出该数据库的条目(只用本地日志)
--bind-address绑定的IP地址
-h, --host=name获取给定主机的mysql服务器的二进制日志
-p, --password[=name]连接的密码
-u, --user连接远程服务器的用户
-P, --port=端口
-R, --read-from-remote-server从MySQL服务器读取二进制日志
--raw与-R一起使用,输出原始的binlog日志数据
--start-datetime=name解析日志开始的时间
--stop-datetime=name解析日志结束的时间
-j, --start-position解析日志开始的位点
--stop-position=解析日志结束的位点
-v, --verbose详细信息
-f, --force-read强制继续读取,若不能识别的事件会会输出警告信息
-o, --offset=N跳过前N个条目
-s, --short-form只显示日志中包含的语句,不显示其他信息
--character-sets-dir=name字符集路径信息
-S, --socket=namesocket
-D, --disable-log-bin禁用二进制.如果使用-to-last-logs选项将输出发生给同一台mysql服务器,可以避免无限循环。该选项在崩溃恢复时也很有用,可以避免的复制的已经记录的语句。该选项需要super权限。
-t, --to-last-log在mysql服务器中请求的二进制日志的结尾的不停止,而是继续打印直到最后一个二进制日志的结尾。如果将输出发送给同一台mysql服务器,会导致无限循环,该选项要--read-from-remote-server
-F, --force-if-open默认开启,如果binlog没有正确关闭,强制关闭
--connection-server-id从库的server-id
-H, --hexdump在注释中显示十六进制和ASCII事件转储
-l, --local-load=name文件中为LOAD DATA INFILE准备本地临时文件指定的目录
--skip-gtids跳过GTID
--include-gtids=name打印时间提供的GTID
--exclude-gtids=name打印所有事情提供的GTID
--print-table-metadata打印存储于Table_map_log_event的metadata信息

实例测试

## binlog日志文件解析
mysqlbinlog --base64-output=decode-row /data/mysql_log/mysql-bin.000008 -v

## 解析指定时间
mysqlbinlog --base64-output=decode-row /data/mysql_log/mysql-bin.000008 -v --start-datetime='2022-03-02 14:30:30'

## 解析指定位点
mysqlbinlog --base64-output=decode-row /data/mysql_log/mysql-bin.000008 -v --start-position=6199 --stop-position=6319
## 解析后的文件信息格式
...
....
SET TIMESTAMP=1646202630/*!*/;
BEGIN
/*!*/;
# at 6199
#220302 14:30:30 server id 1033306  end_log_pos 6248 CRC32 0x56411c87   Table_map: `test`.`bb` mapped to number 114
# at 6248
#220302 14:30:30 server id 1033306  end_log_pos 6319 CRC32 0xeb502b34   Write_rows: table id 114 flags: STMT_END_F
### INSERT INTO `test`.`bb`
### SET
###   @1=1
###   @2=16
### INSERT INTO `test`.`bb`
### SET
###   @1=2
###   @2=17
### INSERT INTO `test`.`bb`
### SET
###   @1=3
###   @2=18
### INSERT INTO `test`.`bb`
### SET
###   @1=4
###   @2=20
# at 6319
#220302 14:30:30 server id 1033306  end_log_pos 6350 CRC32 0x9fd4e6c5   Xid = 831
COMMIT/*!*/;
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值