連線屬性是應用程式在連線時可以傳遞給伺服器的鍵值對,並儲存在 PERFORMANCE_SCHEMA 表格 session_account_connect_attrs 和 session_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, ...]
除了用戶端定義的連線屬性之外,還會傳送使用者定義的連線屬性作為鍵值對。當鍵值對中缺少值時,會為該屬性設定 null 值
以下是設定連線屬性的連線字串通用範例
mysqlx://user:password@localhost:33060?connection-attributes=[key1=value1,key2=value2,key3=]