PingKai Logo下载

SESSION_CONNECT_ATTRS

SESSION_CONNECT_ATTRS 表提供了关于连接属性的信息。会话属性是客户端在建立连接时发送的键值对。

常见属性:

属性名示例描述
_client_namelibmysql客户端库名称
_client_version8.0.33客户端库版本
_osLinux操作系统
_pid712927进程 ID
_platformx86_64CPU 架构
program_namemysqlsh程序名称

你可以通过以下方式查看 SESSION_CONNECT_ATTRS 表的列信息:

USE performance_schema;
DESCRIBE session_connect_attrs;
+------------------+-----------------+------+------+---------+-------+
| Field            | Type            | Null | Key  | Default | Extra |
+------------------+-----------------+------+------+---------+-------+
| PROCESSLIST_ID   | bigint unsigned | NO   |      | NULL    |       |
| ATTR_NAME        | varchar(32)     | NO   |      | NULL    |       |
| ATTR_VALUE       | varchar(1024)   | YES  |      | NULL    |       |
| ORDINAL_POSITION | int             | YES  |      | NULL    |       |
+------------------+-----------------+------+------+---------+-------+

你可以通过以下方式查看存储在 SESSION_CONNECT_ATTRS 表中的会话属性信息:

USE performance_schema;
TABLE SESSION_CONNECT_ATTRS;
+----------------+-----------------+------------+------------------+
| PROCESSLIST_ID | ATTR_NAME       | ATTR_VALUE | ORDINAL_POSITION |
+----------------+-----------------+------------+------------------+
|        2097154 | _client_name    | libmysql   |                0 |
|        2097154 | _client_version | 8.5.7      |                1 |
|        2097154 | _os             | Linux      |                2 |
|        2097154 | _pid            | 1299203    |                3 |
|        2097154 | _platform       | x86_64     |                4 |
|        2097154 | program_name    | mysqlsh    |                5 |
+----------------+-----------------+------------+------------------+

SESSION_CONNECT_ATTRS 表中的字段说明如下:

  • PROCESSLIST_ID:会话的 Processlist ID。
  • ATTR_NAME:属性名称。
  • ATTR_VALUE:属性值。
  • ORDINAL_POSITION:名称/值对的顺序位置。

大小限制与截断

TiDB 使用全局系统变量 performance_schema_session_connect_attrs_size 来控制每个会话的连接属性总大小上限。

  • 默认值:4096 字节
  • 取值范围:[-1, 65536]
  • -1 表示未配置限制,TiDB 会将其视为最大 65536 字节。
  • 0 表示 TiDB 不保留客户端提供的会话连接属性,这实际上会禁用会话属性记录。

当总大小超过此限制时,TiDB 会截断超出的属性,并添加 _truncated 以指示被截断的字节数。

已接受的连接属性也会写入慢日志中的 Session_connect_attrs 字段,并且可以从 INFORMATION_SCHEMA.SLOW_QUERY 和 INFORMATION_SCHEMA.CLUSTER_SLOW_QUERY 中查询。要控制写入慢日志的负载大小,请调整 performance_schema_session_connect_attrs_size。

TiDB 还会对握手包中的连接属性负载强制实施 1 MiB 的硬限制。如果超过此硬限制,连接将被拒绝。