[MySQL] MySQL数据库中唯一标识符(ID)的梳理总结

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 推荐文献

X 参考文献

相关推荐
千千寰宇2 个月前
[Flink/FlinkCDC] 实践总结:Flink 1.12.6 升级 Flink 1.15.4
apache flink·大数据/云计算-数据集成/数据开发-cdc/binlog
千千寰宇9 个月前
[mysql/docker] 基于Docker安装MYSQL
database-mysql