解析MySQL binlog --(1)大致结构及event type
admin
2023-05-03 11:24:02
0

1、简介

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事件格式及类型
解析MySQL binlog --(1)大致结构及event type
分为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事件类型:
解析MySQL binlog --(1)大致结构及event type
只挑了比较重要的事件类型进行解析。下章节针对每个event类型进行详细解析。

相关内容

热门资讯

凤凰记者拍到空军一号飞抵首都机... “哪儿呢?”“来了,这!这!这!”5月13日晚,特朗普专机空军一号抵达北京首都机场 ,凤凰卫视记者拍...
黄仁勋最后时刻登上“空军一号”... 美国当地时间5月12日,美国总统特朗普启程访华。途中,“空军一号”于阿拉斯加加油停靠时,英伟达公司总...
美财长贝森特专机先期抵达北京 13日下午,在特朗普抵达前,美国财长贝森特的专机先期飞抵北京,凤凰卫视记者拍摄到了专机降落前的画面。
鸿蒙版荣耀商城上架华为应用市场... PChome 5月13日消息,现荣耀商城App已正式上架华为鸿蒙应用市场,版本号26.4.0.0。 ...
员工摸鱼混日子怎么解决?推荐先... 很多企业都遇到同一个难题:员工上班消极懈怠、敷衍应付,上班时间闲散摸鱼,正事拖着不做,任务应付交差,...
专访月泉仿生胡喆祺:深耕灵巧手... 当下,人形机器人产业正迎来从技术验证向规模化落地跃迁的关键窗口期,而灵巧手作为具身智能的 “最后一厘...
腾讯控股2026财年第一财季净... IT之家 5 月 13 日消息,腾讯控股今日发布 2026 财年第一财季(2026 年 1 月 1 ...
升任华为轮值董事长,为什么是汪... 导语:鲜少出现在大众视野里的汪涛,接棒华为轮值董事长,出乎很多人意料,但这背后,既是其个人能力与长期...
加盟商参加中通快运酒局后身亡,... 5月11日,新黄河客户端以《加盟商参加中通快运酒局后身亡》为题,报道了代理加盟商纪某某在连续参加两场...
5月全球航班计划已砍掉1.3万... 作者 | 高雅2026年的夏季出行季正在中东局势的余震中拉开帷幕。对于全球旅客而言,这一季的机票订单...