25.12.9 Таблицы атрибутов соединений Performance Schema
Атрибуты соединения — это пары «ключ-значение», которые программы-клиенты могут передавать серверу во время подключения. Для приложений, использующих 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 определяют дополнительные атрибуты:
-
_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
Nwere truncated
© 2025 Oracle
Licensed under the GPLv2 License.