Spec-Zone.ru › MySQL 5.7

25.12.9 Таблицы атрибутов соединений Performance Schema

  • 25.12.9.1 Таблица session_account_connect_attrs
  • 25.12.9.2 Таблица session_connect_attrs

Атрибуты соединения — это пары «ключ-значение», которые программы-клиенты могут передавать серверу во время подключения. Для приложений, использующих C API, реализованный библиотекой-клиентом libmysqlclient, функции и определяют набор атрибутов соединения. Другие MySQL Connectors могут предоставлять собственные методы определения атрибутов.

Эти таблицы Performance Schema предоставляют информацию об атрибутах:

  • session_account_connect_attrs: Атрибуты соединения для текущей сессии и других сессий, связанных с учётной записью сессии

  • session_connect_attrs: Атрибуты соединения для всех сессий

Имена атрибутов, начинающиеся с символа подчёркивания (_), зарезервированы для внутреннего использования и не должны создаваться программами-клиентами. Эта конвенция позволяет MySQL вводить новые атрибуты без конфликтов с атрибутами приложений, а также позволяет программам-клиентам определять собственные атрибуты, не конфликтующие с внутренними.

  • Доступные атрибуты соединения

  • Пределы атрибутов соединения

Доступные атрибуты соединения

Набор атрибутов соединения, видимых в данном соединении, зависит от таких факторов, как платформа, MySQL Connector, используемый для установления соединения, или программа-клиент.

Библиотека-клиент libmysqlclient устанавливает следующие атрибуты:

  • _client_name: Имя клиента (libmysql для библиотеки-клиента).

  • _client_version: Версия библиотеки-клиента.

  • _os: Операционная система (например, Linux, Win64).

  • _pid: Идентификатор процесса клиента.

  • _platform: Платформа машины (например, x86_64).

  • _thread: Идентификатор потока клиента (только Windows).

Другие MySQL Connectors могут определять свои собственные атрибуты соединения.

MySQL Connector/J определяет следующие атрибуты:

  • _client_license: Тип лицензии коннектора.

  • _runtime_vendor: Производитель среды выполнения Java (JRE).

  • _runtime_version: Версия среды выполнения Java (JRE).

MySQL Connector/NET определяет следующие атрибуты:

  • _client_version: Версия библиотеки-клиента.

  • _os: Операционная система (например, Linux, Win64).

  • _pid: Идентификатор процесса клиента.

  • _platform: Платформа машины (например, x86_64).

  • _program_name: Имя клиента.

  • _thread: Идентификатор потока клиента (только Windows).

PHP определяет атрибуты, зависящие от способа его компиляции:

  • Скомпилировано с использованием libmysqlclient: Стандартные атрибуты libmysqlclient, описанные ранее.

  • Скомпилировано с использованием mysqlnd: Только атрибут _client_name со значением mysqlnd.

Многие программы-клиенты MySQL устанавливают атрибут program_name со значением, равным имени клиента. Например, mysqladmin и mysqldump устанавливают program_name соответственно в mysqladmin и mysqldump.

Некоторые программы-клиенты MySQL определяют дополнительные атрибуты:

  • mysqlbinlog:

    • _client_role: binary_log_listener

  • Соединения репликации:

    • program_name: mysqld

    • _client_role: binary_log_listener

    • _client_replication_channel_name: Имя канала.

  • Соединения хранилища FEDERATED:

    • program_name: mysqld

    • _client_role: federated_storage

Пределы атрибутов соединения

Существуют ограничения на количество данных атрибутов соединения, передаваемых от клиента к серверу:

  • Фиксированное ограничение, установленное клиентом до подключения.

  • Фиксированное ограничение, установленное сервером во время подключения.

  • Настраиваемое ограничение, установленное Performance Schema во время подключения.

Для соединений, инициированных с помощью C API, библиотека libmysqlclient устанавливает ограничение в 64 КБ на общий размер данных атрибутов соединения на стороне клиента: вызовы , которые приводят к превышению этого предела, генерируют ошибку . Другие MySQL Connectors могут устанавливать свои собственные ограничения на стороне клиента для передачи данных атрибутов соединения серверу.

На стороне сервера выполняются следующие проверки размера данных атрибутов соединения:

  • Сервер устанавливает ограничение в 64 КБ на общий размер данных атрибутов соединения, которые он может принять. Если клиент пытается отправить более 64 КБ данных атрибутов, сервер отклоняет соединение.

  • Для принятых соединений Performance Schema проверяет общий размер атрибутов по отношению к значению системной переменной performance_schema_session_connect_attrs_size. Если размер атрибутов превышает это значение, выполняются следующие действия:

    • Performance Schema обрезает данные атрибутов и увеличивает значение статусной переменной Performance_schema_session_connect_attrs_lost, которая указывает количество соединений, для которых произошло обрезание атрибутов.

    • Если системная переменная log_error_verbosity больше 1, Performance Schema записывает сообщение в журнал ошибок:

      [Warning] Connection attributes of length N were truncated
      

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-5.7-en/performance-schema-connection-attribute-tables.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API