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