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, ...] 除了用戶端定義的連線屬性之外,還會傳送使用者定義的連線屬性作為鍵值對。當鍵值對缺少值時,會為該屬性設定 null 值

以下是設定連線屬性的連線字串通用範例

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