首先一个insert语句插入4条数据,binlog解析后信息如下:
mysqlbinlog -vvv --base64-output='decode-rows’第一部分:GTID_EVENT
DDL和DML的第一个EVENT,包含的信息主要
时间:200512 13:44:22
server id: 622(生成event的server)
event类型:GTID
last_committed:13 (逻辑时钟)
sequence_number:14
rbr_only:yes(是否基于row复制)
GTID的值:e0860904-7eff-11ea-989d-5254010ec9c8:83800
第二部分:QUERY_EVENT
时间:200512 13:44:22
server id: 622(生成event的server)
event类型:QUERY
thread_id: 28713(线程id)
exec_time:0 (执行语句的时间)
DML:时间比较短,第一条数据更改后的时间
DDL:实际执行时间
error_code:0(执行语句的错误码)
GTID的值:e0860904-7eff-11ea-989d-5254010ec9c8:83800
执行语句:SET TIMESTAMP=1589262262 +
DML:begin;
DDL:实际执行SQL
第三部分:MAP_EVENT
行模式下特有的event,主要作用是able id和访问表的映射
时间:200512 13:44:22
server id: 622(生成event的server)
Table_map:`test`.`te` mapped to number 507 (table id和访问表的映射)
第四部分:W_EVNET/D_EVENT/U_EVENT
时间:200512 13:44:22
server id: 622(生成event的server)
Write_rows:table id 507 (写入表的table id)
flags: STMT_END_F (标记本EVENT是本DML最后一个EVENT)
变更语句:INSERT INTO
第五部分:XID_EVENT
事物提交的标志
时间:200512 13:44:22
server id: 622(生成event的server)
Xid: 673133 (单个binlog内唯一的,不连续且不是递增)
执行语句:COMMIT