16,MySQL 8.0参考手册 4.6.8.1 mysqlbinlog十六进制转储格式

该--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'表示a FORMAT_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 INFILEMySQL 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 INFILEMySQL 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 INFILEMySQL 5及更高版本中的语句。
    12 EXECUTE_LOAD_QUERY_EVENT 用于LOAD DATA INFILEMySQL 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 在某些情况下设置事件不依赖于默认数据库时。

你可能感兴趣的:(mysql8.0)