0 引言
- mysql 数据库中有各类id,在近期初步研究 flink cdc 、debezium、mysql server id、server uuid、gtid、sesion id/connection id等相关概念后,基本有了一定的认知,趁热打铁,记录总结下来。
概述
server id = debezium BinaryLogClient 的 sid
- 定义
server-id
用于标识数据库集群实例的节点,防止在链式主从、多主多从拓扑中导致SQL语句的无限循环
- 配置、查看、使用
server uuid
- 定义
server-uuid
参数并不能取代server-id
,他们有不同的作用。当主从同步时,如果主从实例的server-uuid
相同会报错退出- server-uuid 与 gtid 的关系 : gtid =
{server-uuid}:{transaction-id}
- 配置、查看、使用
transaction id = Xid = 事务ID
gtid = {server uuid}:{transaction id}
- 定义
GTID
,又叫全局事务ID (Global Transaction ID
)- 用于取代过去传统的主从复制(即:基于binlog和position的异步复制)。
- 查看、使用
connection id = information_schema.processlist.id = session id = debezium BinaryLogClient 的 cid = debezium BinaryLogClient 的 thread id
- 定义
- 数据库连接ID(connection id) = 会话ID(session id)
- = information_schema.processlist.id
- = debezium BinaryLogClient 的 cid
- = debezium BinaryLogClient 的 thread id
sql
> 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 |
...
- 查看、使用
Y 推荐文献
- [数据库] 浅谈mysql的serverId/serverUuid - 博客园/千千寰宇
- 试验 : Flink CDC 监听 mysql 表的数据增量同步 - 博客园/千千寰宇
- [数据库] MYSQL之binlog概述 - 博客园/千千寰宇