MySQL服务器生成的二进制日志保存在binlog文件中。要以文本格式显示binlog内容可以使用mysql自带的mysqlbinlog日志管理工具解析。
二进制日志格式(binlog_format)在MySQL 5.7.7和更高版本中,默认为row,在row格式下我们要查找历史的SQL记录,需要开启binlog_rows_query_log_events来记录执行过的SQL。
mysqlbinlog用法如下:
shell> mysqlbinlog [options] log_file1 log_file2…
常用选项如下:
--base64-output=name:决定binlog输出格式选项,auto--自动显示binlog语句所有格式;never--禁止显示binlog语句;decode-rows--禁止显示binlog语句--database=db_name, -d db_name:只显示指定数据库的日志--verbose,-v:从行事件中重建伪 sql 语句--verbose --verbose, -vv:从行事件中重建伪 sql 语句,添加对数据类型的注释--start-datetime=datetime --stop-datetime=datetime:指定日期间隔的日志--start-position=N --stop-position=N:指定事件位置间隔的日志--skip-gtids[=(true|false)] :不显示GTID
举例说明mysqlbinlog的使用:
1、创建新日志,对mysql和test数据库做DML操作</