連線屬性是應用程式在連線期間可以傳遞至伺服器的鍵值對,並儲存在 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=]