首页 > 极客资料 博客日记

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

2024-10-18 01:00:03极客资料围观17

文章[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
> 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 参考文献


版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!

标签:

相关文章

本站推荐

标签云