0 引言
- mysql 資料庫中有各類id,在近期初步研究 flink cdc 、debezium、mysql server id、server uuid、gtid、sesion id/connection id等相關概念後,基本有了一定的認知,趁熱打鐵,記錄總結下來。
概述
server id = debezium BinaryLogClient 的 sid
server-id
用於標識資料庫叢集例項的節點,防止在鏈式主從、多主多從拓撲中導致SQL語句的無限迴圈
- [資料庫] 淺談mysql的serverId/serverUuid - 部落格園/千千寰宇
server uuid
server-uuid
引數並不能取代server-id
,他們有不同的作用。當主從同步時,如果主從例項的server-uuid
相同會報錯退出
- server-uuid 與 gtid 的關係 : gtid =
{server-uuid}:{transaction-id}
- [資料庫] 淺談mysql的serverId/serverUuid - 部落格園/千千寰宇
transaction id = Xid = 事務ID
gtid = {server uuid}:{transaction id}
GTID
,又叫全域性事務ID(Global Transaction ID
)
- 用於取代過去傳統的主從複製(即:基於binlog和position的非同步複製)。
- [資料庫] MYSQL之binlog概述 - 部落格園/千千寰宇
- 資料庫連線ID(connection id) = 會話ID(session id)
- = information_schema.processlist.id
- = debezium BinaryLogClient 的 cid
- = debezium BinaryLogClient 的 thread id
> select connection_id() as session;
45730
> SELECT * FROM information_schema.processlist limit 10;
+-------+--------+-----------------------+---------------+---------+------+-------+------+
| ID | USER | HOST | DB | COMMAND | TIME | STATE | INFO |
+-------+--------+-----------------------+---------------+---------+------+-------+------+
| 45730 | kkuser | 192.168.0.2:50753 | landray_kk_db | Sleep | 2 | | NULL |
...
- 使用SHOW PROCESSLIST命令 | [資料庫] 排查MySQL鎖表情況及解決思路 - 部落格園/千千寰宇
Y 推薦文獻
- [資料庫] 淺談mysql的serverId/serverUuid - 部落格園/千千寰宇
- 試驗 : Flink CDC 監聽 mysql 表的資料增量同步 - 部落格園/千千寰宇
- [資料庫] MYSQL之binlog概述 - 部落格園/千千寰宇
X 參考文獻
- MySQL8.x 中 performance_schema 下 processlist表的說明 - 部落格園