22.5.6.2 Параметры плагина X и системные переменные
Для управления активацией плагина X используйте этот параметр:
-
Формат командной строки --mysqlx[=value]Тип Перечисление Значение по умолчанию ONДопустимые значения ONOFFFORCEFORCE_PLUS_PERMANENTЭтот параметр контролирует, как сервер загружает плагин X при запуске. В MySQL 8.4 плагин X включён по умолчанию, но этот параметр можно использовать для управления его состоянием активации.
Значение параметра должно быть одним из доступных значений для параметров загрузки плагинов, как описано в разделе 7.6.1, «Установка и удаление плагинов».
Если плагин X включен, он предоставляет несколько системных переменных, которые позволяют управлять его работой:
-
Формат командной строки --mysqlx-bind-address=addrПеременная среды mysqlx_bind_addressОбласть действия Глобальная Динамическая Нет SET_VARПрименимо к подсказкеНет Тип Строка Значение по умолчанию *Сетевой адрес, на котором плагин X ожидает подключения по TCP/IP. Эта переменная не является динамической и может быть настроена только при запуске. Это эквивалент переменной среды
bind_addressплагина X; для получения дополнительной информации см. описание этой переменной.По умолчанию, плагин X принимает подключения по TCP/IP на всех IPv4 интерфейсах хоста сервера и, если хост сервера поддерживает IPv6, на всех IPv6 интерфейсах. Если указано
mysqlx_bind_address, его значение должно удовлетворять этим требованиям:Одно значение адреса, которое может указывать на один IP-адрес без подстановочных знаков (IPv4 или IPv6), имя хоста или один из форматов адресов с подстановкой, позволяющих прослушивать на нескольких сетевых интерфейсах (
*,0.0.0.0или::).Список значений, разделенных запятыми. Если переменная указывает список из нескольких значений, каждое значение должно указывать на один IP-адрес без подстановочных знаков (IPv4 или IPv6) или имя хоста. Форматы адресов с подстановкой (
*,0.0.0.0или::) не допускаются в списке значений.Значение также может включать спецификатор сетевого пространства имен.
IP-адреса могут быть указаны как IPv4 или IPv6 адреса. Для любого значения, являющегося именем хоста, плагин X разрешает имя до IP-адреса и привязывается к этому адресу. Если имя хоста разрешается до нескольких IP-адресов, плагин X использует первый IPv4 адрес, если таковой имеется, или первый IPv6 адрес в противном случае.
Плагин X обрабатывает различные типы адресов следующим образом:
Если адрес равен
*, плагин X принимает TCP/IP подключения на всех IPv4 интерфейсах хоста сервера и, если хост сервера поддерживает IPv6, на всех IPv6 интерфейсах. Используйте этот адрес, чтобы разрешить подключения по IPv4 и IPv6 для плагина X. Это значение по умолчанию. Если переменная указывает список из нескольких значений, это значение не разрешено.Если адрес равен
0.0.0.0, плагин X принимает TCP/IP подключения на всех IPv4 интерфейсах хоста сервера. Если переменная указывает список из нескольких значений, это значение не разрешено.Если адрес равен
::, плагин X принимает TCP/IP подключения на всех IPv4 и IPv6 интерфейсах хоста сервера. Если переменная указывает список из нескольких значений, это значение не разрешено.Если адрес является IPv4-адресом, отображаемым как IPv6-адрес, плагин X принимает TCP/IP подключения для этого адреса в формате IPv4 или IPv6. Например, если плагин X привязан к
::ffff:127.0.0.1, клиент, такой как MySQL Shell, может подключиться, используя--host=127.0.0.1или--host=::ffff:127.0.0.1.Если адрес является «обычным» IPv4 или IPv6 адресом (таким как
127.0.0.1или::1), плагин X принимает TCP/IP подключения только для этого IPv4 или IPv6 адреса.
Эти правила применяются к указанию сетевого пространства имен для адреса:
Сетевое пространство имен может быть указано для IP-адреса или имени хоста.
Сетевое пространство имен не может быть указано для IP-адреса с подстановкой.
Для данного адреса сетевое пространство имен является необязательным. Если указано, оно должно быть указано как суффикс
/непосредственно после адреса.nsАдрес без суффикса
/использует глобальное пространство имен системы хоста. Глобальное пространство имен, следовательно, является значением по умолчанию.nsАдрес с суффиксом
/использует пространство имен, названноеnsns.Система хоста должна поддерживать пространства имен и каждое именованное пространство имен должно быть предварительно настроено. Назначение несуществующего пространства имен приводит к ошибке.
Если значение переменной указывает несколько адресов, оно может включать адреса в глобальном пространстве имен, в именованных пространствах имен или в их смешении.
Дополнительную информацию о сетевых пространствах имен см. в разделе 7.1.14 «Поддержка сетевых пространств имен».
ВажноПоскольку плагин X не является обязательным, он не препятствует запуску сервера, если в указанном адресе или списке адресов есть ошибка (как MySQL Server для ошибок
bind_address). С плагином X, если один из перечисленных адресов не может быть проанализирован или если плагин X не может привязаться к нему, адрес пропускается, сообщается об ошибке, и плагин X пытается привязаться к каждому из оставшихся адресов. Переменная состояния плагина XMysqlx_addressотображает только те адреса из списка, для которых привязка прошла успешно. Если ни один из перечисленных адресов не приводит к успешной привязке или если один указанный адрес завершается ошибкой, плагин X записывает сообщение об ошибке, указывающее, что протокол X не может быть использован.mysqlx_bind_addressне является динамической, поэтому для устранения любых проблем необходимо остановить сервер, исправить значение переменной среды и перезапустить сервер. -
Формат командной строки --mysqlx-compression-algorithms=valueПеременная среды mysqlx_compression_algorithmsОбласть действия Глобальная Динамическая Да SET_VARПрименимо к подсказкеНет Тип Множество Значение по умолчанию deflate_stream,lz4_message,zstd_streamДопустимые значения deflate_streamlz4_messagezstd_streamАлгоритмы сжатия, разрешенные для использования в подключениях по протоколу X. По умолчанию, алгоритмы Deflate, LZ4 и zstd разрешены. Чтобы запретить любой из алгоритмов, установите
mysqlx_compression_algorithmsтолько с разрешенными алгоритмами. Имена алгоритмовdeflate_stream,lz4_messageиzstd_streamмогут быть указаны в любой комбинации, и порядок и регистр не имеют значения. Если вы устанавливаете переменную среды в пустую строку, алгоритмы сжатия не разрешены, и используются только несжатые подключения. Используйте алгоритм-специфичные переменные среды для корректировки уровня сжатия по умолчанию и максимального уровня сжатия для каждого разрешенного алгоритма. Более подробная информация и информация о том, как сжатие подключений для протокола X связано с эквивалентными настройками MySQL Server, доступны в разделе 22.5.5 «Сжатие подключений с плагином X». -
Формат командной строки --mysqlx-connect-timeout=#Переменная среды mysqlx_connect_timeoutОбласть действия Глобальная Динамическая Да SET_VARПрименимо к подсказкеНет Тип Целое число Значение по умолчанию 30Минимальное значение 1Максимальное значение 1000000000Единица измерения секунды Количество секунд, которое плагин X ожидает получения первого пакета от недавно подключенных клиентов. Это эквивалент
connect_timeoutплагина X; для получения дополнительной информации см. описание этой переменной.
-
mysqlx_deflate_default_compression_levelФормат командной строки --mysqlx_deflate_default_compression_level=#Системная переменная mysqlx_deflate_default_compression_levelОбласть видимости Глобальная Динамическая Да SET_VARHint AppliesНет Тип Целое число Значение по умолчанию 3Минимальное значение 1Максимальное значение 9Уровень сжатия по умолчанию, используемый сервером для алгоритма Deflate по подключениям X Protocol. Укажите уровень в виде целого числа от 1 (минимальные затраты на сжатие) до 9 (максимальные затраты). Этот уровень используется, если клиент не запрашивает уровень сжатия во время согласования возможностей. Если вы не указываете эту системную переменную, сервер использует уровень 3 по умолчанию. Для получения дополнительной информации см. Раздел 22.5.5, «Сжатие соединения с помощью плагина X».
-
mysqlx_deflate_max_client_compression_levelФормат командной строки --mysqlx_deflate_max_client_compression_level=#Системная переменная mysqlx_deflate_max_client_compression_levelОбласть видимости Глобальная Динамическая Да SET_VARHint AppliesНет Тип Целое число Значение по умолчанию 5Минимальное значение 1Максимальное значение 9Максимальный уровень сжатия, разрешенный сервером для алгоритма Deflate по подключениям X Protocol. Диапазон такой же, как и для уровня сжатия по умолчанию для этого алгоритма. Если клиент запрашивает уровень сжатия выше этого, сервер использует уровень, установленный вами здесь. Если вы не указываете эту системную переменную, сервер устанавливает максимальный уровень сжатия 5.
-
mysqlx_document_id_unique_prefixФормат командной строки --mysqlx-document-id-unique-prefix=#Системная переменная mysqlx_document_id_unique_prefixОбласть видимости Глобальная Динамическая Да SET_VARHint AppliesНет Тип Целое число Значение по умолчанию 0Минимальное значение 0Максимальное значение 65535Устанавливает первые 4 байта идентификаторов документов, генерируемых сервером при добавлении документов в коллекцию. Установив эту переменную в уникальное значение для каждого экземпляра, вы можете гарантировать уникальность идентификаторов документов в разных экземплярах. Смотрите .
-
Формат командной строки --mysqlx-enable-hello-notice[={OFF|ON}]Системная переменная mysqlx_enable_hello_noticeОбласть видимости Глобальная Динамическая Да SET_VARHint AppliesНет Тип Логическое Значение по умолчанию ONУправляет сообщениями, отправляемыми клиентам классического протокола MySQL, которые пытаются подключиться через X Protocol. При включении клиенты, не поддерживающие X Protocol, которые пытаются подключиться к порту X Protocol сервера, получают сообщение об ошибке, объясняющее, что они используют неправильный протокол.
-
mysqlx_idle_worker_thread_timeoutФормат командной строки --mysqlx-idle-worker-thread-timeout=#Системная переменная mysqlx_idle_worker_thread_timeoutОбласть видимости Глобальная Динамическая Да SET_VARHint AppliesНет Тип Целое число Значение по умолчанию 60Минимальное значение 0Максимальное значение 3600Единица измерения секунды Количество секунд, после которых неактивные рабочие потоки завершаются.
-
Формат командной строки --mysqlx-interactive-timeout=#Системная переменная mysqlx_interactive_timeoutОбласть видимости Глобальная Динамическая Да SET_VARHint AppliesНет Тип Целое число Значение по умолчанию 28800Минимальное значение 1Максимальное значение 2147483Единица измерения секунды Значение по умолчанию для переменной сессии
mysqlx_wait_timeoutдля интерактивных клиентов. (Количество секунд ожидания до истечения времени ожидания для интерактивных клиентов.) -
mysqlx_lz4_default_compression_levelФормат командной строки --mysqlx_lz4_default_compression_level=#Системная переменная mysqlx_lz4_default_compression_levelОбласть видимости Глобальная Динамическая Да SET_VARHint AppliesНет Тип Целое число Значение по умолчанию 2Минимальное значение 0Максимальное значение 16Уровень сжатия по умолчанию, используемый сервером для алгоритма LZ4 по подключениям X Protocol. Укажите уровень в виде целого числа от 0 (минимальные затраты на сжатие) до 16 (максимальные затраты). Этот уровень используется, если клиент не запрашивает уровень сжатия во время согласования возможностей. Если вы не указываете эту системную переменную, сервер использует уровень 2 по умолчанию. Для получения дополнительной информации см. Раздел 22.5.5, «Сжатие соединения с помощью плагина X».
-
mysqlx_lz4_max_client_compression_levelФормат командной строки --mysqlx_lz4_max_client_compression_level=#Системная переменная mysqlx_lz4_max_client_compression_levelОбласть видимости Глобальная Динамическая Да SET_VARHint AppliesНет Тип Целое число Значение по умолчанию 8Минимальное значение 0Максимальное значение 16Максимальный уровень сжатия, разрешенный сервером для алгоритма LZ4 по подключениям X Protocol. Диапазон такой же, как и для уровня сжатия по умолчанию для этого алгоритма. Если клиент запрашивает уровень сжатия выше этого, сервер использует уровень, установленный вами здесь. Если вы не указываете эту системную переменную, сервер устанавливает максимальный уровень сжатия 8.
-
Формат командной строки --mysqlx-max-allowed-packet=#Системная переменная mysqlx_max_allowed_packetОбласть видимости Глобальная Динамическая Да SET_VARПодсказка применяетсяНет Тип Целое число Значение по умолчанию 67108864Минимальное значение 512Максимальное значение 1073741824Единица измерения байты Максимальный размер сетевых пакетов, которые могут быть приняты X Plugin. Это ограничение также применяется при использовании сжатия для соединения, поэтому сетевой пакет должен быть меньше этого размера после распаковки сообщения. Это эквивалент X Plugin для
max_allowed_packet; см. описание этой переменной для получения дополнительной информации. -
Формат командной строки --mysqlx-max-connections=#Системная переменная mysqlx_max_connectionsОбласть видимости Глобальная Динамическая Да SET_VARПодсказка применяетсяНет Тип Целое число Значение по умолчанию 100Минимальное значение 1Максимальное значение 65535Максимальное количество одновременных клиентских подключений, которые может принимать X Plugin. Это эквивалент X Plugin для
max_connections; см. описание этой переменной для получения дополнительной информации.Для изменений этой переменной, если новое значение меньше текущего количества подключений, новый лимит учитывается только для новых подключений.
-
Формат командной строки --mysqlx-min-worker-threads=#Системная переменная mysqlx_min_worker_threadsОбласть видимости Глобальная Динамическая Да SET_VARПодсказка применяетсяНет Тип Целое число Значение по умолчанию 2Минимальное значение 1Максимальное значение 100Минимальное количество рабочих потоков, используемых X Plugin для обработки запросов клиентов.
-
Формат командной строки --mysqlx-port=port_numСистемная переменная mysqlx_portОбласть видимости Глобальная Динамическая Нет SET_VARПодсказка применяетсяНет Тип Целое число Значение по умолчанию 33060Минимальное значение 1Максимальное значение 65535Сетевой порт, на котором X Plugin прослушивает TCP/IP-подключения. Это эквивалент X Plugin для
port; см. описание этой переменной для получения дополнительной информации. -
Формат командной строки --mysqlx-port-open-timeout=#Системная переменная mysqlx_port_open_timeoutОбласть видимости Глобальная Динамическая Нет SET_VARПодсказка применяетсяНет Тип Целое число Значение по умолчанию 0Минимальное значение 0Максимальное значение 120Единица измерения секунды Количество секунд, в течение которых X Plugin ожидает освобождения TCP/IP-порта.
-
Формат командной строки --mysqlx-read-timeout=#Системная переменная mysqlx_read_timeoutОбласть видимости Сессия Динамическая Да SET_VARПодсказка применяетсяНет Тип Целое число Значение по умолчанию 30Минимальное значение 1Максимальное значение 2147483Единица измерения секунды Количество секунд, в течение которых X Plugin ожидает завершения блокирующих операций чтения. По истечении этого времени, если операция чтения не завершилась успешно, X Plugin закрывает соединение и возвращает предупреждение с кодом ошибки ER_IO_READ_ERROR клиентскому приложению.
-
Формат командной строки --mysqlx-socket=file_nameСистемная переменная mysqlx_socketОбласть видимости Глобальная Динамическая Нет SET_VARПодсказка применяетсяНет Тип Строка Значение по умолчанию /tmp/mysqlx.sockПуть к файлу сокета Unix, который X Plugin использует для подключений. Эта настройка используется только сервером MySQL при работе на операционных системах Unix. Клиенты могут использовать этот сокет для подключения к серверу MySQL с помощью X Plugin.
Путь и имя файла
mysqlx_socketпо умолчанию основаны на пути и имени файла для основного файла сокета для сервера MySQL, с добавлениемxк имени файла. Путь и имя файла по умолчанию для основного файла сокета —/tmp/mysql.sock, поэтому путь и имя файла по умолчанию для файла сокета X Plugin —/tmp/mysqlx.sock.Если вы указываете альтернативный путь и имя файла для основного файла сокета при запуске сервера с помощью системной переменной
socket, это не влияет на значение по умолчанию для файла сокета X Plugin. В этом случае, если вы хотите хранить оба сокета по одному пути, вы также должны установить системную переменнуюmysqlx_socket. Например, в конфигурационном файле:socket=/home/sockets/mysqld/mysql.sock mysqlx_socket=/home/sockets/xplugin/xplugin.sock
Если вы изменяете путь и имя файла по умолчанию для основного файла сокета во время компиляции с помощью параметра компиляции
MYSQL_UNIX_ADDR, это влияет на значение по умолчанию для файла сокета X Plugin, который формируется путем добавленияxк имени файлаMYSQL_UNIX_ADDR. Если вы хотите установить другое значение по умолчанию для файла сокета X Plugin во время компиляции, используйте параметр компиляцииMYSQLX_UNIX_ADDR.Переменная среды
MYSQLX_UNIX_PORTтакже может использоваться для установки значения по умолчанию для файла сокета X Plugin при запуске сервера (см. Раздел 6.9, «Переменные среды»). Если вы устанавливаете эту переменную среды, она переопределяет скомпилированное значениеMYSQLX_UNIX_ADDR, но переопределяется значениемmysqlx_socket.
-
Формат командной строки --mysqlx-ssl-ca=file_nameСистемная переменная mysqlx_ssl_caОбласть видимости Глобальная Динамическая Нет SET_VARПодсказка применяетсяНет Тип Имя файла Значение по умолчанию NULLСистемная переменная
mysqlx_ssl_caаналогична переменнойssl_ca, за исключением того, что она применяется к X Plugin, а не к основному интерфейсу подключения сервера MySQL. Дополнительные сведения о настройке поддержки шифрования для X Plugin см. в разделе 22.5.3, «Использование шифрованных соединений с X Plugin». -
Формат командной строки --mysqlx-ssl-capath=dir_nameСистемная переменная mysqlx_ssl_capathОбласть видимости Глобальная Динамическая Нет SET_VARПодсказка применяетсяНет Тип Имя каталога Значение по умолчанию NULLСистемная переменная
mysqlx_ssl_capathаналогична переменнойssl_capath, за исключением того, что она применяется к X Plugin, а не к основному интерфейсу подключения сервера MySQL. Дополнительные сведения о настройке поддержки шифрования для X Plugin см. в разделе 22.5.3, «Использование шифрованных соединений с X Plugin». -
Формат командной строки --mysqlx-ssl-cert=file_nameСистемная переменная mysqlx_ssl_certОбласть видимости Глобальная Динамическая Нет SET_VARПодсказка применяетсяНет Тип Имя файла Значение по умолчанию NULLСистемная переменная
mysqlx_ssl_certаналогична переменнойssl_cert, за исключением того, что она применяется к X Plugin, а не к основному интерфейсу подключения сервера MySQL. Дополнительные сведения о настройке поддержки шифрования для X Plugin см. в разделе 22.5.3, «Использование шифрованных соединений с X Plugin». -
Формат командной строки --mysqlx-ssl-cipher=nameСистемная переменная mysqlx_ssl_cipherОбласть видимости Глобальная Динамическая Нет SET_VARПодсказка применяетсяНет Тип Строка Значение по умолчанию NULLСистемная переменная
mysqlx_ssl_cipherаналогична переменнойssl_cipher, за исключением того, что она применяется к X Plugin, а не к основному интерфейсу подключения сервера MySQL. Дополнительные сведения о настройке поддержки шифрования для X Plugin см. в разделе 22.5.3, «Использование шифрованных соединений с X Plugin». -
Формат командной строки --mysqlx-ssl-crl=file_nameСистемная переменная mysqlx_ssl_crlОбласть видимости Глобальная Динамическая Нет SET_VARПодсказка применяетсяНет Тип Имя файла Значение по умолчанию NULLСистемная переменная
mysqlx_ssl_crlаналогична переменнойssl_crl, за исключением того, что она применяется к X Plugin, а не к основному интерфейсу подключения сервера MySQL. Дополнительные сведения о настройке поддержки шифрования для X Plugin см. в разделе 22.5.3, «Использование шифрованных соединений с X Plugin». -
Формат командной строки --mysqlx-ssl-crlpath=dir_nameСистемная переменная mysqlx_ssl_crlpathОбласть видимости Глобальная Динамическая Нет SET_VARПодсказка применяетсяНет Тип Имя каталога Значение по умолчанию NULLСистемная переменная
mysqlx_ssl_crlpathаналогична переменнойssl_crlpath, за исключением того, что она применяется к X Plugin, а не к основному интерфейсу подключения сервера MySQL. Дополнительные сведения о настройке поддержки шифрования для X Plugin см. в разделе 22.5.3, «Использование шифрованных соединений с X Plugin». -
Формат командной строки --mysqlx-ssl-key=file_nameСистемная переменная mysqlx_ssl_keyОбласть видимости Глобальная Динамическая Нет SET_VARПодсказка применяетсяНет Тип Имя файла Значение по умолчанию NULLСистемная переменная
mysqlx_ssl_keyаналогична переменнойssl_key, за исключением того, что она применяется к X Plugin, а не к основному интерфейсу подключения сервера MySQL. Дополнительные сведения о настройке поддержки шифрования для X Plugin см. в разделе 22.5.3, «Использование шифрованных соединений с X Plugin». -
Формат командной строки --mysqlx-wait-timeout=#Системная переменная mysqlx_wait_timeoutОбласть видимости Сессии Динамическая Да SET_VARПодсказка применяетсяНет Тип Целое число Значение по умолчанию 28800Минимальное значение 1Максимальное значение 2147483Единица измерения секунды Количество секунд, в течение которых X Plugin ожидает активности на соединении. По истечении этого времени, если операция чтения не завершилась успешно, X Plugin закрывает соединение. Если клиент не интерактивный, начальное значение переменной сессии копируется из глобальной переменной
mysqlx_wait_timeout. Для интерактивных клиентов начальное значение копируется из переменной сессииmysqlx_interactive_timeout.
-
Формат командной строки --mysqlx-write-timeout=#Переменная системы mysqlx_write_timeoutОбласть действия Сеанс Динамическая Да SET_VARПрименяется подсказкаНет Тип Целое число Значение по умолчанию 60Минимальное значение 1Максимальное значение 2147483Единица измерения секунды Количество секунд, которое плагин X ожидает завершения блокирующих операций записи. По истечении этого времени, если операция записи не выполнена успешно, плагин X закрывает соединение.
-
mysqlx_zstd_default_compression_levelФормат командной строки --mysqlx_zstd_default_compression_level=#Переменная системы mysqlx_zstd_default_compression_levelОбласть действия Глобальная Динамическая Да SET_VARПрименяется подсказкаНет Тип Целое число Значение по умолчанию 3Минимальное значение -131072Максимальное значение 22Уровень сжатия по умолчанию, который сервер использует для алгоритма zstd при подключениях по протоколу X. Для версий библиотеки zstd с 1.4.0, вы можете задать положительные значения от 1 до 22 (максимальная степень сжатия), или отрицательные значения, представляющие последовательно меньшие усилия. Значение 0 преобразуется в значение 1. Для более ранних версий библиотеки zstd, вы можете указать только значение 3. Этот уровень используется, если клиент не запрашивает уровень сжатия во время переговоров о возможностях. Если вы не укажете эту переменную системы, сервер использует уровень 3 в качестве значения по умолчанию. Для получения дополнительной информации см. Раздел 22.5.5, «Сжатие соединений с помощью плагина X».
-
mysqlx_zstd_max_client_compression_levelФормат командной строки --mysqlx_zstd_max_client_compression_level=#Переменная системы mysqlx_zstd_max_client_compression_levelОбласть действия Глобальная Динамическая Да SET_VARПрименяется подсказкаНет Тип Целое число Значение по умолчанию 11Минимальное значение -131072Максимальное значение 22Максимальный уровень сжатия, который сервер допускает для алгоритма zstd при подключениях по протоколу X. Диапазон такой же, как для уровня сжатия по умолчанию для этого алгоритма. Если клиент запрашивает более высокий уровень сжатия, чем этот, сервер использует уровень, который вы установили здесь. Если вы не укажете эту переменную системы, сервер устанавливает максимальный уровень сжатия 11.
© 2025 Oracle
Licensed under the GPLv2 License.