这篇文章主要介绍了如何分析MySQL的Binlog日志。首先,我们需要确认mysqlbinlog命令是否存在。然后,文章提供了几种不同的命令来解析Binlog日志,包括全量解析、按时间范围解析、只解析某个数据库和只解析某个binlog文件。最后,文章解释了在解析过程中可能遇到的错误,这些错误可能是由于MySQL版本问题造成的,建议使用高于5.6版本的MySQL进行分析。
相关命令
分析Mysql的Binlog日志,按时间
维度查询mysql
操作记录。
#查看mysqlbinlog命令是否存在
>mysqlbinlog
mysqlbinlog Ver 3.3 for Linux at x86_64
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Dumps a MySQL binary log in a format usable for viewing or for piping to
the mysql command line client.
#全量解析
./mysqlbinlog --base64-output='DECODE-ROWS' --verbose *-binlog.000* >> xxxx.sql
#按时间范围解析
./mysqlbinlog --base64-output='DECODE-ROWS' --verbose --start-datetime='2016-05-20 10:00:00' --stop-datetime='2016-05-20 12:00:00' *-binlog.0008* >> xxxx.sql
#只解析某个数据库
./mysqlbinlog --base64-output='DECODE-ROWS' --verbose --database=databasename *-binlog.000* >> xxxx.sql
#只解析某个binlog文件
./mysqlbinlog --base64-output='DECODE-ROWS' --verbose 3306-binlog.000001 >> xxxx.sql
问题
报错内容
ERROR: Error in Log_event::read_log_event(): 'Found invalid event in binary log', data_len: 31, event_type: 35
ERROR: Could not read entry at offset 120: Error in log format or read error.
原因
这是因为Mysql版本问题造成的,请选择高于5.6版本的Mysql进行分析。