binlog事件数据结构
- TABLE_MAP
row格式的binlog文件中,每个ROW_EVENT之前都有一个TABLE_MAP_EVENT,用于描述该更新的元数据信息,记录包括,tableId, database,table,columnTypes等
结构如下:
1 | 监听的事件类型:TABLE_MAP |
- EXT_UPDATE_ROWS
update操作事件,记录tableId,includedColumnsBeforeUpdate(更新之前列位置),includedColumns(更新后的列位置),before(更新之前的数据),after(更新之后的数据)。不包括列名信息
结构如下:
1 | header:EventHeaderV4{timestamp=1629959676000, eventType=EXT_UPDATE_ROWS, serverId=1, headerLength=19, dataLength=45, nextPosition=9986, flags=0} |
- EXT_WRITE_ROWS
insert操作事件,包括:tableId,includedColumns(列位置信息),rows(插入的行信息)
1 | 监听的事件类型:EXT_WRITE_ROWS |
- EXT_DELETE_ROWS
delete操作事件类型,包括tableId,includedColumns(列位置),rows(行数据)
1 | 监听的事件类型:EXT_DELETE_ROWS |
- QUERY
QUERY_EVENT事件以文本的形式记录信息,所有DDL操作以文本的形式记录在该事件中
1 | 监听的事件类型:QUERY |