该--hexdump选项会导致 mysqlbinlog生成二进制日志内容的十六进制转储:
shell> mysqlbinlog --hexdump master-bin.000001
十六进制输出由注释行开始 #
,所以对于前面的命令,输出可能如下所示:
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
# at 4
#051024 17:24:13 server id 1 end_log_pos 98
# Position Timestamp Type Master ID Size Master Pos Flags
# 00000004 9d fc 5c 43 0f 01 00 00 00 5e 00 00 00 62 00 00 00 00 00
# 00000017 04 00 35 2e 30 2e 31 35 2d 64 65 62 75 67 2d 6c |..5.0.15.debug.l|
# 00000027 6f 67 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |og..............|
# 00000037 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
# 00000047 00 00 00 00 9d fc 5c 43 13 38 0d 00 08 00 12 00 |.......C.8......|
# 00000057 04 04 04 04 12 00 00 4b 00 04 1a |.......K...|
# Start: binlog v 4, server v 5.0.15-debug-log created 051024 17:24:13
# at startup
ROLLBACK;
十六进制转储输出当前包含以下列表中的元素。此格式可能会更改。
Position
:日志文件中的字节位置。Timestamp
:事件时间戳。在示出的例子中,'9d fc 5c 43'
是对表示'051024 17:24:13'
为十六进制。Type
:事件类型代码。在所示的例子中,'0f'
表示aFORMAT_DESCRIPTION_EVENT
。下表列出了可能的类型代码。类型 名称 含义 00
UNKNOWN_EVENT
该事件不应该出现在日志中。 01
START_EVENT_V3
这表示由MySQL 4或更早版本写入的日志文件的开始。 02
QUERY_EVENT
最常见的事件类型。这些包含在主设备上执行的语句。 03
STOP_EVENT
表示主站已停止。 04
ROTATE_EVENT
当主设备切换到新的日志文件时写入。 05
INTVAR_EVENT
用于 AUTO_INCREMENT
值或LAST_INSERT_ID()
在语句中使用该函数时 。06
LOAD_EVENT
用于 LOAD DATA INFILE
MySQL 3.23。07
SLAVE_EVENT
保留以供将来使用。 08
CREATE_FILE_EVENT
用于 LOAD DATA INFILE
报表。这表示开始执行这样的陈述。从站上创建一个临时文件。仅用于MySQL 4。09
APPEND_BLOCK_EVENT
包含在 LOAD DATA INFILE
声明中使用的数据 。数据存储在从站的临时文件中。0a
EXEC_LOAD_EVENT
用于 LOAD DATA INFILE
报表。临时文件的内容存储在从站的表中。仅用于MySQL 4。0b
DELETE_FILE_EVENT
LOAD DATA INFILE
声明的回滚。临时文件应该在从机上删除。0c
NEW_LOAD_EVENT
用于 LOAD DATA INFILE
MySQL 4及更早版本。0d
RAND_EVENT
RAND()
用于在语句中使用函数时发送有关随机值的信息 。0e
USER_VAR_EVENT
用于复制用户变量。 0f
FORMAT_DESCRIPTION_EVENT
这表示由MySQL 5或更高版本编写的日志文件的开始。 10
XID_EVENT
指示提交XA事务的事件。 11
BEGIN_LOAD_QUERY_EVENT
用于 LOAD DATA INFILE
MySQL 5及更高版本中的语句。12
EXECUTE_LOAD_QUERY_EVENT
用于 LOAD DATA INFILE
MySQL 5及更高版本中的语句。13
TABLE_MAP_EVENT
关于表格定义的信息。用于MySQL 5.1.5及更高版本。 14
PRE_GA_WRITE_ROWS_EVENT
为应该创建的单个表的行数据。用于MySQL 5.1.5至5.1.17。 15
PRE_GA_UPDATE_ROWS_EVENT
为需要更新的单个表的行数据。用于MySQL 5.1.5至5.1.17。 16
PRE_GA_DELETE_ROWS_EVENT
为应该删除的单个表的行数据。用于MySQL 5.1.5至5.1.17。 17
WRITE_ROWS_EVENT
为应该创建的单个表的行数据。用于MySQL 5.1.18及更高版本。 18
UPDATE_ROWS_EVENT
为需要更新的单个表的行数据。用于MySQL 5.1.18及更高版本。 19
DELETE_ROWS_EVENT
为应该删除的单个表的行数据。用于MySQL 5.1.18及更高版本。 1a
INCIDENT_EVENT
发生了一些不寻常的事情。在MySQL 5.1.18中添加。 Master ID
:创建事件的主服务器的ID。Size
:事件的字节大小。Master Pos
:原始主日志文件中下一个事件的位置。Flags
:16个旗帜。使用以下标志。其他人留作将来使用。本文由学什么网独家翻译旗 名称 含义 01
LOG_EVENT_BINLOG_IN_USE_F
日志文件正确关闭。(仅用于英寸 FORMAT_DESCRIPTION_EVENT
)如果'01 00'
在a中设置了此标志(例如,标志为 )FORMAT_DESCRIPTION_EVENT
,则日志文件尚未正确关闭。最有可能的原因是由于主机故障(例如,由于电源故障)。02
保留以供将来使用。 04
LOG_EVENT_THREAD_SPECIFIC_F
例如,如果事件取决于它在其中执行的连接( '04 00'
例如,如果事件使用临时表)。08
LOG_EVENT_SUPPRESS_USE_F
在某些情况下设置事件不依赖于默认数据库时。