解析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类型进行详细解析。

相关内容

热门资讯

7月手机推荐:涨价潮下,哪些手... “天天说手机涨价,这个时候买手机,不是大冤种吗?”那你就错了。 自今年3月起,因为成本压力持续提升,...
日本正式设立“国家情报局” △日本首相官邸(资料图)当地时间7月31日,日本政府正式设立“国家情报局”。首任局长为原和也。原和也...
38岁男子被北大录取,18年前... 2026年,连续三年高考后,38岁的清华毕业生李龙收到了北大医学部的录取通知书,他终于不必再回答“明...
“极不寻常”!爆料称特朗普或拒... 英国路透社29日发布“独家消息”称,特朗普政府有可能推迟或直接拒绝法国总统马克龙提名的新一任法国驻美...
马斯克:已要求SpaceXAI... IT之家 7 月 29 日消息,据调查媒体 404 Media 此前报道,人工智能公司正在大量收购稀...
和美德决裂、赞扬中国…法国这个... 法国极左翼政党“不屈法兰西”(La France Insoumise)领导人让-吕克·梅朗雄,正以强...
长鑫市值3.6万亿超腾讯:数千... 出品|搜狐科技 作者|张雅婷 7月27日,长鑫科技正式登陆科创板。 截至发稿,长鑫科技股价54.65...
重庆彭水山体崩塌已确认51人遇... 7月17日9时许,重庆彭水汉葭街道发生大型山体崩塌灾害。7月30日晚,彭水发布情况通报,截至目前,陆...
民政部:截至目前各地共办理婚姻... 澎湃新闻记者 刘璐7月30日,民政部举行第三季度例行新闻发布会。会上,民政部新闻发言人李婉丽介绍,截...
罗永浩13年前超前构想!这套电... 快科技7月26日消息,今日,罗永浩发文谈到网络视频电视机傻瓜化。 他表示,其实网络视频电视机做成傻瓜...