mysql event type_解析MySQL binlog --(1)大致结构及event type

本文介绍了MySQL的binlog事件,包括如何通过`show binlog events`命令查看binlog内容,以及事件头和事件体的主要组成部分。binlog事件类型如Format_desc、Query、Table_map和Write_rows等被提及,并指出它们在数据库变更跟踪中的作用。此外,还讨论了事件头的timestamp、eventtype、server-id等字段,以及事件体中根据不同事件类型包含的不同信息。

binlog以事件的形式记录数据库变更情况。通过执行show binlog events in "binlog file"命令可以查看事件

mysql> show binlog events in "mysql-bin.000002";

+------------------+-----+-------------+-----------+-------------+---------------------------------------------+

| Log_name | Pos | Event_type | Server_id | End_log_pos | Info |

+------------------+-----+-------------+-----------+-------------+---------------------------------------------+

| mysql-bin.000002 | 4 | Format_desc | 11 | 120 | Server ver: 5.6.26-debug-log, Binlog ver: 4 |

| mysql-bin.000002 | 120 | Query | 11 | 191 | BEGIN |

| mysql-bin.000002 | 191 | Table_map | 11 | 236 | table_id: 70 (yzs.t1) |

| mysql-bin.000002 | 236 | Write_rows | 11 | 280 | table_id: 70 flags: STMT_END_F |

| mysql-bin.000002 | 280 | Xid | 11 | 311 | COMMIT /* xid=9 */ |

+------------------+-----+-------------+-----------+-------------+---------------------------------------------+

5 rows in set (0.00 sec)

mysql> show binlog events in "mysql-bin.000001";

+------------------+-----+-------------+-----------+-------------+---------------------------------------------+

| Log_name | Pos | Event_type | Server_id | End_log_pos | Info |

+------------------+-----+-------------+-----------+-------------+---------------------------------------------+

| mysql-bin.000001 | 4 | Format_desc | 11 | 120 | Server ver: 5.6.26-debug-log, Binlog ver: 4 |

| mysql-bin.000001 | 120 | Query | 11 | 197 | BEGIN |

| mysql-bin.000001 | 197 | Query | 11 | 294 | use `yzs`; insert into t1 select 2,2 |

| mysql-bin.000001 | 294 | Xid | 11 | 325 | COMMIT /* xid=9 */ |

| mysql-bin.000001 | 325 | Stop | 11 | 348 | |

+------------------+-----+-------------+-----------+-------------+---------------------------------------------+

5 rows in set (0.00 sec)

2、binlog事件格式及类型

7824c009bda253c48e7a9d6fb3bcc816.png

分为2部分,事件头和事件体。事件头包括:

timestamp:事件开始的执行时间,固定4字节展示是新纪元(epoch time)以来的秒数。

event type:指明该事件的类型

server-id:服务器的server ID

event size:该事件的长度

next-log pos:固定4字节下一个event的开始位置

flag:固定2字节 event flags

#define LOG_EVENT_BINLOG_IN_USE_F 0x1 这个flags表示是否binlog正确的关闭了

..其他标签可参看源码log_event.h

事件体:根据事件类型的不同,包含了不同的信息。

binlog事件类型:

ca609aad8d6762b4803bad7004080387.png

只挑了比较重要的事件类型进行解析。下章节针对每个event类型进行详细解析。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值