91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

解析MySQL binlog --(4)TABLE_MAP_EVENT

發布時間:2020-04-22 22:23:51 來源:網絡 閱讀:8013 作者:yzs的專欄 欄目:MySQL數據庫

1、簡介

row格式的binlog文件中,每個ROW_EVENT之前都有一個TABLE_MAP_EVENT,用于描述表的內部ID和結構定義。

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 */                          |
| mysql-bin.000002 | 311 | Query       |        11 |         382 | BEGIN                                       |
| mysql-bin.000002 | 382 | Table_map   |        11 |         427 | table_id: 70 (yzs.t1)                       |
| mysql-bin.000002 | 427 | Write_rows  |        11 |         471 | table_id: 70 flags: STMT_END_F              |
| mysql-bin.000002 | 471 | Xid         |        11 |         502 | COMMIT /* xid=37 */                         |
+------------------+-----+-------------+-----------+-------------+---------------------------------------------+
9 rows in set (0.00 sec)

2、TABLE_MAP_EVENT格式定義
解析MySQL binlog --(4)TABLE_MAP_EVENT
3、結合案例說明
解析MySQL binlog --(4)TABLE_MAP_EVENT
--------公有事件頭-------

1)timestamp:62 ca a4 5a:4個字節

2)event_type:13:1個字節,TABLE_MAP_EVENT = 19

3)server-id:0b 00 00 00,4個字節,即11

4)event_size:2d 00 00 00,4個字節,即event總大小是45字節

5)next-log ps:ec 00 00 00,4個字節,即236

6)flag:00 00

----------私有事件頭-------------

7)table ID:46 00 00 00 00 00,即table ID是70

8)flag:01 00,暫時未使用

----------事件體-------------------

9)schema name length:03,即schema name大小是3個字節

10)schema name:79 7a 73,yzs

11)00

12)table name length:02,即表名大小是2個字節

13)table name:74 31,即表名是t1

14)00

15)col count:02,即列個數是2

16)col type:03 03

enum enum_field_types { MYSQL_TYPE_DECIMAL, MYSQL_TYPE_TINY,  
            MYSQL_TYPE_SHORT,  MYSQL_TYPE_LONG,  
            MYSQL_TYPE_FLOAT,  MYSQL_TYPE_DOUBLE,  
            MYSQL_TYPE_NULL,   MYSQL_TYPE_TIMESTAMP,  
            MYSQL_TYPE_LONGLONG,MYSQL_TYPE_INT24,  
            MYSQL_TYPE_DATE,   MYSQL_TYPE_TIME,  
            MYSQL_TYPE_DATETIME, MYSQL_TYPE_YEAR,  
            MYSQL_TYPE_NEWDATE, MYSQL_TYPE_VARCHAR,  
            MYSQL_TYPE_BIT,  
            MYSQL_TYPE_TIMESTAMP2,  
            MYSQL_TYPE_DATETIME2,  
            MYSQL_TYPE_TIME2,  
            MYSQL_TYPE_NEWDECIMAL=246,  
            MYSQL_TYPE_ENUM=247,  
            MYSQL_TYPE_SET=248,  
            MYSQL_TYPE_TINY_BLOB=249,  
            MYSQL_TYPE_MEDIUM_BLOB=250,  
            MYSQL_TYPE_LONG_BLOB=251,  
            MYSQL_TYPE_BLOB=252,  
            MYSQL_TYPE_VAR_STRING=253,  
            MYSQL_TYPE_STRING=254,  
            MYSQL_TYPE_GEOMETRY=255  

}; 

17)col meta length:00,1個字節

18)col meta:無

19)null bitmap:02,列數是2,一個字節就夠:00000010,即主鍵列那列不能為NULL

20)checksum,不在事件體里。d8 b9 92 2b
write_footer函數最后會計算checksum,并放到事件體后。

virtual bool write(IO_CACHE* file)  
{  
  return(write_header(file, get_data_size()) ||  
  write_data_header(file) ||  
  write_data_body(file) ||  
  write_footer(file));  
}  
# at 191  
#180310 21:53:38 server id 11  end_log_pos 236 CRC32 0x2b92b9d8     Table_map: `yzs`.`t1` mapped to number 70 

可以看到和binlog文件里解析出來的一致。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

普兰店市| 会理县| 元阳县| 界首市| 石嘴山市| 闽侯县| 晋宁县| 凉山| 渭源县| 军事| 德令哈市| 大关县| 海丰县| 广丰县| 宁都县| 噶尔县| 寿阳县| 千阳县| 德安县| 泾源县| 潜山县| 雅江县| 乌拉特中旗| 铜陵市| 丰都县| 石泉县| 新营市| 女性| 济阳县| 阳谷县| 弥渡县| 阿拉善左旗| 虞城县| 桐梓县| 武鸣县| 大方县| 花垣县| 西昌市| 松溪县| 周宁县| 崇文区|