show binlog events in mysql-bin.0000..."/>
溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

解析MySQL binlog --(1)大致結(jié)構(gòu)及event type

發(fā)布時(shí)間:2020-07-10 11:02:36 來(lái)源:網(wǎng)絡(luò) 閱讀:3384 作者:yzs的專欄 欄目:MySQL數(shù)據(jù)庫(kù)

1、簡(jiǎn)介

binlog以事件的形式記錄數(shù)據(jù)庫(kù)變更情況。通過(guò)執(zhí)行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)大致結(jié)構(gòu)及event type
分為2部分,事件頭和事件體。事件頭包括:

timestamp:事件開(kāi)始的執(zhí)行時(shí)間,固定4字節(jié)展示是新紀(jì)元(epoch time)以來(lái)的秒數(shù)。

event type:指明該事件的類型

server-id:服務(wù)器的server ID

event size:該事件的長(zhǎng)度

next-log pos:固定4字節(jié)下一個(gè)event的開(kāi)始位置

flag:固定2字節(jié) event flags
#define LOG_EVENT_BINLOG_IN_USE_F 0x1 這個(gè)flags表示是否binlog正確的關(guān)閉了
..其他標(biāo)簽可參看源碼log_event.h

事件體:根據(jù)事件類型的不同,包含了不同的信息。

binlog事件類型:
解析MySQL binlog --(1)大致結(jié)構(gòu)及event type
只挑了比較重要的事件類型進(jìn)行解析。下章節(jié)針對(duì)每個(gè)event類型進(jìn)行詳細(xì)解析。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI