2.2.3 连接属性

连接属性 是应用程序在连接时传递给服务器的键值对,存储在 PERFORMANCE_SCHEMA 表 session_account_connect_attrssession_connect_attrs 中。连接属性有两种类型:

  • 客户端定义的属性是由客户端隐式编码的保留键值映射。客户端定义的属性集因客户端而异 - 有关详细信息,请参阅您客户端的 X DevAPI 参考。客户端定义的属性默认情况下会发送到服务器。

  • 用户定义的属性是由用户或应用程序提供的键值映射。

X DevAPI 通过连接参数 connection-attributes(Connector/J 为 xdevapi.connection-attributes)支持 MySQL 连接属性,该参数通过 getSession()getClient() 方法设置。以下是使用该参数的不同方法:

  • 当不使用该参数时,这些参数的设置等效于默认行为(即发送客户端定义的属性)。

    • connection-attributes

    • connection-attributes=

    • connection-attributes=true

    • connection-attributes=[]

  • connection-attributes=false 阻止发送任何连接属性,包括客户端定义的属性。

  • connection-attributes=[key1=value1,key2=value2, ...] 将用户定义的连接属性作为键值对与客户端定义的连接属性一起发送。当键值对中缺少值时,该属性将被设置为空值。

以下是一个配置连接属性的连接字符串通用示例:

mysqlx://user:password@localhost:33060?connection-attributes=[key1=value1,key2=value2,key3=]