7.1.8 Переменные системы сервера
Сервер MySQL поддерживает множество переменных системы, которые влияют на его работу. Большинство переменных системы могут быть установлены при запуске сервера с помощью параметров командной строки или в файле параметров. Большинство из них могут быть изменены динамически во время выполнения с помощью оператора SET, что позволяет вам изменить работу сервера без необходимости его остановки и перезапуска. Некоторые переменные являются только для чтения, и их значения определяются средой системы, способом установки MySQL на систему или, возможно, параметрами, используемыми для компиляции MySQL. Большинство переменных системы имеют значение по умолчанию, но существуют исключения, включая переменные только для чтения. Вы также можете использовать значения переменных системы в выражениях.
Установка значения глобальной переменной системы во время выполнения обычно требует привилегии SYSTEM_VARIABLES_ADMIN (или устаревшей привилегии SUPER). Установка значения сеансовой переменной системы во время выполнения обычно не требует особых привилегий и может быть выполнена любым пользователем, хотя есть исключения. Дополнительную информацию см. в разделе 7.1.9.1 «Привилегии переменных системы»
Существует несколько способов просмотра имен и значений переменных системы:
-
Чтобы увидеть значения, используемые сервером на основе его скомпилированных значений по умолчанию и любых файлов параметров, которые он считывает, используйте следующую команду:
mysqld --verbose --help
-
Чтобы увидеть значения, используемые сервером только на основе его скомпилированных значений по умолчанию, игнорируя настройки в любых файлах параметров, используйте следующую команду:
mysqld --no-defaults --verbose --help
Чтобы увидеть текущие значения, используемые работающим сервером, используйте оператор
SHOW VARIABLESили таблицы переменных системы Performance Schema. См. раздел 29.12.14 «Таблицы переменных системы Performance Schema».
В этом разделе описывается каждая переменная системы. Таблицу сводки переменных системы см. в разделе 7.1.5 «Справочник по переменным системы сервера». Дополнительную информацию об управлении переменными системы см. в разделе 7.1.9 «Использование переменных системы».
Для дополнительной информации о переменных системы см. следующие разделы:
Раздел 7.1.9 «Использование переменных системы» описывает синтаксис установки и отображения значений переменных системы.
Раздел 7.1.9.2 «Динамические переменные системы» перечисляет переменные, которые можно установить во время выполнения.
Информацию о настройке переменных системы можно найти в разделе 7.1.1 «Настройка сервера».
Раздел 17.14 «Параметры запуска InnoDB и переменные системы» перечисляет
InnoDBпеременных системы.Раздел 25.4.3.9.2 «Переменные системы кластера NDB» перечисляет переменные системы, которые специфичны для кластера NDB.
Сведения о переменных системы сервера, специфичных для репликации, см. в разделе 19.1.6 «Опции и переменные репликации и двоичного протоколирования».
Некоторые из следующих описаний переменных относятся к “включению” или “выключению” переменной. Эти переменные можно включить с помощью оператора SET, установив их значение в ON или 1, или выключить, установив их значение в OFF или 0. Булевы переменные могут быть установлены при запуске в значения ON, TRUE, OFF и FALSE (регистр не учитывается), а также 1 и 0. См. раздел 6.2.2.4 «Модификаторы параметров программы».
Некоторые переменные системы управляют размером буферов или кэшей. Для данного буфера серверу может потребоваться выделить внутренние структуры данных. Эти структуры обычно выделяются из общего объема памяти, выделенного для буфера, а объем требуемого пространства может зависеть от платформы. Это означает, что при присвоении значения переменной системы, контролирующей размер буфера, фактически доступное количество пространства может отличаться от назначенного значения. В некоторых случаях количество может быть меньше назначенного значения. Также возможно, что сервер скорректирует значение вверх. Например, если вы присвоите значение 0 переменной, для которой минимальное значение равно 1024, сервер установит значение в 1024.
Значения размеров буферов, длин и размеров стеков указаны в байтах, если не указано иное.
Некоторые описания переменных системы включают размер блока, в этом случае значение, которое не является целым кратным указанного размера блока, округляется вниз до ближайшего меньшего кратного размера блока перед хранением сервером, т. е. до FLOOR( value)* . block_size
Пример: Предположим, что размер блока для данной переменной равен 4096, и вы устанавливаете значение переменной в 100000 (мы предполагаем, что максимальное значение переменной больше этого числа). Так как 100000 / 4096 = 24,4140625, сервер автоматически уменьшает значение до 98304 (24 * 4096) перед его сохранением.
В некоторых случаях указанный максимум для переменной является максимальным значением, разрешенным анализатором MySQL, но не является точным кратным размеру блока. В таких случаях эффективным максимумом является ближайшее меньшее кратное размеру блока.
Пример: Максимальное значение переменной системы показано как 4294967295 (232-1), а ее размер блока равен 1024. 4294967295 / 1024 = 4194303,9990234375, поэтому если вы установите эту переменную на ее указанное максимальное значение, фактически сохраненное значение будет 4194303 * 1024 = 4294966272.
Некоторые переменные системы принимают значения имен файлов. Если не указано иное, по умолчанию расположение файла находится в каталоге данных, если значение является относительным именем файла. Чтобы явно указать расположение, используйте абсолютное имя файла. Предположим, что каталог данных находится в /var/mysql/data. Если переменной, значением которой является имя файла, дано относительное имя, оно находится в /var/mysql/data. Если значение является абсолютным именем файла, его расположение указано этим именем.
-
Формат командной строки --activate-all-roles-on-login[={OFF|ON}]Системная переменная activate_all_roles_on_loginОбласть действия Глобальная Динамическая Да SET_VARПрименяется подсказкаНет Тип Булево Значение по умолчанию OFFВключить автоматическую активацию всех предоставленных ролей при входе пользователей на сервер:
Если
activate_all_roles_on_loginвключено, сервер активирует все роли, предоставленные каждому пользователю, при входе. Это имеет приоритет над ролями по умолчанию, указанными с помощьюSET DEFAULT ROLE.Если
activate_all_roles_on_loginотключено, сервер активирует роли по умолчанию, указанные с помощьюSET DEFAULT ROLE, если таковые имеются, при входе.
Предоставленные роли включают те, которые явно предоставлены пользователю, и те, которые указаны в значении системной переменной
mandatory_roles.activate_all_roles_on_loginприменяется только при входе, а также в начале выполнения хранимых процедур и представлений, выполняемых в контексте создателя. Для изменения активных ролей в сеансе используйтеSET ROLE. Для изменения активных ролей для хранимой процедуры тело процедуры должно выполнитьSET ROLE. -
Формат командной строки --admin-address=addrСистемная переменная admin_addressОбласть действия Глобальная Динамическая Нет SET_VARПрименяется подсказкаНет Тип Строка IP-адрес, на котором нужно прослушивать TCP/IP-соединения на интерфейсе административной сети (см. Раздел 7.1.12.1, «Интерфейсы подключения»). Значение по умолчанию для
admin_addressотсутствует. Если эта переменная не указана при запуске, сервер не поддерживает административный интерфейс. Сервер также имеет системную переменнуюbind_addressдля настройки обычных (неадминистративных) клиентских TCP/IP-соединений. См. Раздел 7.1.12.1, «Интерфейсы подключения».Если
admin_addressуказан, его значение должно соответствовать этим требованиям:Значение должно быть единственным IPv4-адресом, IPv6-адресом или именем хоста.
Значение не может содержать формат адреса с подстановкой (
*,0.0.0.0или::).Значение может включать спецификатор пространства имен сети.
IP-адрес можно указать как IPv4- или IPv6-адрес. Если значение является именем хоста, сервер разрешает имя в IP-адрес и связывается с этим адресом. Если имя хоста разрешается на несколько IP-адресов, сервер использует первый IPv4-адрес, если таковой есть, или первый IPv6-адрес в противном случае.
Сервер обрабатывает разные типы адресов следующим образом:
Если адрес является IPv4-адресом, отображаемым как IPv6, сервер принимает TCP/IP-соединения для этого адреса в формате IPv4 или IPv6. Например, если сервер связан с
::ffff:127.0.0.1, клиенты могут подключаться, используя--host=127.0.0.1или--host=::ffff:127.0.0.1.Если адрес является «обычным» IPv4- или IPv6-адресом (например,
127.0.0.1или::1), сервер принимает TCP/IP-соединения только для этого IPv4- или IPv6-адреса.
Эти правила применяются к указанию пространства имен сети для адреса:
Для IP-адреса или имени хоста можно указать пространство имен сети.
Пространство имен сети не может быть указано для IP-адреса с подстановкой.
Для данного адреса пространство имен сети является необязательным. Если оно указано, оно должно быть указано как суффикс
/непосредственно после адреса.nsАдрес без суффикса
/использует глобальное пространство имен системы хоста. Глобальное пространство имен, следовательно, является значением по умолчанию.nsАдрес с суффиксом
/использует пространство имен, названноеnsns.Система хоста должна поддерживать пространства имен сети, и каждое именованное пространство имен должно быть предварительно настроено. Указание несуществующего пространства имен приводит к ошибке.
Дополнительную информацию о пространствах имен сети см. в Разделе 7.1.14, «Поддержка пространств имен сети».
Если привязка к адресу завершается ошибкой, сервер выводит сообщение об ошибке и не запускается.
Системная переменная
admin_addressаналогична системной переменнойbind_address, которая связывает сервер с адресом для обычных клиентских соединений, но с этими отличиями:bind_addressразрешает несколько адресов.admin_addressразрешает один адрес.bind_addressразрешает адреса с подстановкой.admin_addressне разрешает.
-
Формат командной строки --admin-port=port_numСистемная переменная admin_portОбласть действия Глобальная Динамическая Нет SET_VARПрименяется подсказкаНет Тип Целое число Значение по умолчанию 33062Минимальное значение 0Максимальное значение 65535Номер порта TCP/IP для подключений на административном сетевом интерфейсе (см. Раздел 7.1.12.1, «Интерфейсы подключения»). Установка этой переменной в 0 приводит к использованию значения по умолчанию.
Установка
admin_portне имеет эффекта, еслиadmin_addressне указан, так как в этом случае сервер не поддерживает административный сетевой интерфейс. -
Формат командной строки --admin-ssl-ca=file_nameСистемная переменная admin_ssl_caОбласть действия Глобальная Динамическая Да SET_VARПрименяется подсказкаНет Тип Имя файла Значение по умолчанию NULLСистемная переменная
admin_ssl_caподобнаssl_ca, за исключением того, что она применяется к административному интерфейсу подключения, а не к основному. Сведения о настройке поддержки шифрования для административного интерфейса см. в Разделе «Поддержка административного интерфейса для защищенных подключений».
-
Формат командной строки --admin-ssl-capath=dir_nameСистемная переменная admin_ssl_capathОбласть действия Глобальная Динамическая Да SET_VARПрименимоНет Тип Имя каталога Значение по умолчанию NULLСистемная переменная
admin_ssl_capathподобна переменнойssl_capath, за исключением того, что она применяется к интерфейсу административного подключения, а не к основному интерфейсу подключения. Сведения о настройке поддержки шифрования для административного интерфейса см. в разделе Поддержка шифрованных подключений административного интерфейса. -
Формат командной строки --admin-ssl-cert=file_nameСистемная переменная admin_ssl_certОбласть действия Глобальная Динамическая Да SET_VARПрименимоНет Тип Имя файла Значение по умолчанию NULLСистемная переменная
admin_ssl_certподобна переменнойssl_cert, за исключением того, что она применяется к интерфейсу административного подключения, а не к основному интерфейсу подключения. Сведения о настройке поддержки шифрования для административного интерфейса см. в разделе Поддержка шифрованных подключений административного интерфейса. -
Формат командной строки --admin-ssl-cipher=nameСистемная переменная admin_ssl_cipherОбласть действия Глобальная Динамическая Да SET_VARПрименимоНет Тип Строка Значение по умолчанию NULLСистемная переменная
admin_ssl_cipherподобна переменнойssl_cipher, за исключением того, что она применяется к интерфейсу административного подключения, а не к основному интерфейсу подключения. Сведения о настройке поддержки шифрования для административного интерфейса см. в разделе Поддержка шифрованных подключений административного интерфейса.В списке, задаваемом этой переменной, могут быть любые из следующих значений:
ECDHE-ECDSA-AES128-GCM-SHA256ECDHE-ECDSA-AES256-GCM-SHA384ECDHE-RSA-AES128-GCM-SHA256ECDHE-RSA-AES256-GCM-SHA384ECDHE-ECDSA-CHACHA20-POLY1305ECDHE-RSA-CHACHA20-POLY1305ECDHE-ECDSA-AES256-CCMECDHE-ECDSA-AES128-CCMDHE-RSA-AES128-GCM-SHA256DHE-RSA-AES256-GCM-SHA384DHE-RSA-AES256-CCMDHE-RSA-AES128-CCMDHE-RSA-CHACHA20-POLY1305
Попытка включить в список шифров значения, не указанные здесь, при настройке этой переменной приводит к ошибке ().
-
Формат командной строки --admin-ssl-crl=file_nameСистемная переменная admin_ssl_crlОбласть действия Глобальная Динамическая Да SET_VARПрименимоНет Тип Имя файла Значение по умолчанию NULLСистемная переменная
admin_ssl_crlподобна переменнойssl_crl, за исключением того, что она применяется к интерфейсу административного подключения, а не к основному интерфейсу подключения. Сведения о настройке поддержки шифрования для административного интерфейса см. в разделе Поддержка шифрованных подключений административного интерфейса.
-
Формат командной строки --admin-tls-ciphersuites=ciphersuite_listПеременная системы admin_tls_ciphersuitesОбласть действия Глобальная Динамическая Да SET_VARПрименяется подсказкаНет Тип Строка Значение по умолчанию NULLПеременная системы
admin_tls_ciphersuitesпохожа наtls_ciphersuites, за исключением того, что она применяется к интерфейсу административного подключения, а не к основному интерфейсу подключения. Дополнительную информацию о настройке поддержки шифрования для административного интерфейса см. в разделе Поддержка шифрованных подключений административного интерфейса.Значение представляет собой список из нуля или более имён шифровальных наборов, разделённых двоеточием, из списка, представленного ниже:
TLS_AES_128_GCM_SHA256TLS_AES_256_GCM_SHA384TLS_CHACHA20_POLY1305_SHA256TLS_AES_128_CCM_SHA256
Попытка включить в список шифров значения, отсутствующие в этом списке, при установке этой переменной вызывает ошибку ().
-
Формат командной строки --admin-tls-version=protocol_listПеременная системы admin_tls_versionОбласть действия Глобальная Динамическая Да SET_VARПрименяется подсказкаНет Тип Строка Значение по умолчанию TLSv1.2,TLSv1.3Переменная системы
admin_tls_versionпохожа наtls_version, за исключением того, что она применяется к интерфейсу административного подключения, а не к основному интерфейсу подключения. Дополнительную информацию о настройке поддержки шифрования для административного интерфейса см. в разделе Поддержка шифрованных подключений административного интерфейса.ВажноMySQL 8.4 не поддерживает протоколы подключения TLSv1 и TLSv1.1. Дополнительную информацию см. в разделе Отключение поддержки протоколов TLSv1 и TLSv1.1.
MySQL 8.4 поддерживает протокол TLSv1.3, при условии, что сервер MySQL был скомпилирован с использованием OpenSSL 1.1.1 или новее. Сервер проверяет версию OpenSSL при запуске, и если она старше 1.1.1, TLSv1.3 удаляется из значения по умолчанию для системной переменной. В этом случае значение по умолчанию —
TLSv1.2.
-
Формат командной строки --authentication-policy=valueСистемная переменная authentication_policyОбласть видимости Глобальная Динамическая Да SET_VARПодсказка применяетсяНет Тип Строка Значение по умолчанию *,,Эта переменная используется для администрирования возможностей многофакторной аутентификации (MFA). Для операторов
CREATE USERиALTER USER, используемых для управления определениями учетных записей MySQL, она определяет, какой фактор или факторы аутентификации могут быть указаны, где “factor” соответствует методу аутентификации или подключаемому модулю, связанному с учетной записью.authentication_policyопределяет следующие аспекты многофакторной аутентификации:Количество факторов аутентификации.
Допустимые подключаемые модули (или методы) для каждого фактора.
Подключаемый модуль аутентификации по умолчанию для спецификаций аутентификации, которые не указывают подключаемый модуль явно.
Поскольку
authentication_policyприменяется только при создании или изменении учетных записей, изменения ее значения не влияют на существующие учетные записи пользователей.ПримечаниеХотя системная переменная
authentication_policyнакладывает определенные ограничения на связанные с аутентификацией предложения операторовCREATE USERиALTER USER, пользователь, обладающий привилегиейAUTHENTICATION_POLICY_ADMIN, не подчиняется этим ограничениям. (Предупреждение возникает для операторов, которые в противном случае не были бы разрешены.)Значение
authentication_policyпредставляет собой список из 1, 2 или 3 элементов, разделенных запятыми, каждый из которых соответствует фактору аутентификации и имеет одну из перечисленных здесь форм со своими значениями:-
пустое
Фактор аутентификации является необязательным; может использоваться любой подключаемый модуль аутентификации.
-
*Фактор аутентификации обязателен; может использоваться любой подключаемый модуль аутентификации.
-
plugin_nameФактор аутентификации обязателен; этот фактор должен быть
plugin_name. -
*:plugin_nameФактор аутентификации обязателен;
plugin_nameявляется значением по умолчанию, но может использоваться другой подключаемый модуль аутентификации.
В каждом случае элемент может быть окружен пробелами. Весь список должен быть заключен в одинарные кавычки.
authentication_policyдолжен содержать по крайней мере один непустой фактор, а любые пустые факторы должны идти в конце списка, после любых непустых факторов. Это означает, что',,'не допускается, поскольку это означает, что все факторы являются необязательными. Каждая учетная запись должна иметь хотя бы один фактор аутентификации.Значение по умолчанию для
authentication_policy—'*,,'. Это означает, что фактор 1 обязателен в определениях учетных записей и может использовать любой подключаемый модуль аутентификации (сcaching_sha2_passwordпо умолчанию), а факторы 2 и 3 являются необязательными и каждый из них может использовать любой подключаемый модуль аутентификации.Если
authentication_policyне указывает подключаемый модуль по умолчанию для первого фактора, подключаемым модулем по умолчанию для этого фактора являетсяcaching_sha2_password, хотя может использоваться и другой подключаемый модуль.В следующей таблице показаны некоторые возможные значения для
authentication_policyи политика, которую каждый из них устанавливает для создания или изменения учетных записей.Таблица 7.4 Примеры значений authentication_policy
Таблица 7.4 Примеры значений authentication_policy authentication_policy Политика '*'Только один фактор, который использует caching_sha2_password, хотя может использоваться и другой подключаемый модуль.'*,*'Только два фактора; первый фактор использует caching_sha2_passwordпо умолчанию, хотя может использоваться и другой подключаемый модуль; второй может использовать любой подключаемый модуль.'*,*,*'Только три фактора, где первый фактор использует caching_sha2_passwordпо умолчанию, хотя может использоваться и другой подключаемый модуль; второй и третий факторы могут использовать любые подключаемые модули.'*,'Один или два фактора, где первый фактор использует caching_sha2_passwordпо умолчанию, хотя может использоваться и другой подключаемый модуль; второй фактор является необязательным и может использовать любой подключаемый модуль.'*,,'Один, два или три фактора, где первый фактор использует caching_sha2_passwordпо умолчанию, хотя может использоваться и другой подключаемый модуль; второй и третий факторы являются необязательными и могут использовать любые подключаемые модули.'*,*,'Два или три фактора, где первый фактор использует caching_sha2_passwordпо умолчанию, хотя может использоваться и другой подключаемый модуль; второй фактор является обязательным, а третий — необязательным; второй и третий факторы могут использовать любые подключаемые модули.'*,auth_plugin'Два фактора, где первый фактор использует caching_sha2_passwordпо умолчанию, хотя может использоваться и другой подключаемый модуль; второй фактор должен быть указанным подключаемым модулем.'auth_plugin,*,'Два или три фактора, где первый фактор должен быть указанным подключаемым модулем; второй фактор является обязательным, но может использовать любой подключаемый модуль; третий фактор является необязательным и может использовать любой подключаемый модуль. '*,*:auth_plugin'Два фактора, где первый фактор использует caching_sha2_passwordпо умолчанию, хотя может использоваться и другой подключаемый модуль; второй фактор является обязательным и использует указанный подключаемый модуль, но может использоваться и другой подключаемый модуль.'auth_plugin,'Один или два фактора, где первый фактор должен быть указанным подключаемым модулем; второй фактор является необязательным и может использовать любой подключаемый модуль. '*:auth_plugin,*,'Два или три фактора, где первый фактор должен быть указанным подключаемым модулем; второй фактор является обязательным и может использовать любой подключаемый модуль, а третий фактор является необязательным и может использовать любой подключаемый модуль. 'auth_plugin,auth_plugin,auth_plugin'Три фактора, где все три фактора должны использовать указанные подключаемые модули.
-
authentication_windows_log_levelФормат командной строки --authentication-windows-log-level=#Системная переменная authentication_windows_log_levelОбласть видимости Глобальная Динамическая Нет SET_VARПодсказка применяетсяНет Тип Целое число Значение по умолчанию 2Минимальное значение 0Максимальное значение 4Эта переменная доступна только в том случае, если включен подключаемый модуль аутентификации Windows
authentication_windowsи включен код отладки. См. Раздел 8.4.1.6, «Подключаемая аутентификация Windows».Эта переменная устанавливает уровень ведения журнала для подключаемого модуля аутентификации Windows. В следующей таблице показаны допустимые значения.
Значение Описание 0 Журналирование отключено 1 Регистрировать только сообщения об ошибках 2 Регистрировать сообщения уровня 1 и предупреждения 3 Регистрировать сообщения уровня 2 и информационные заметки 4 Регистрировать сообщения уровня 3 и сообщения отладки
-
authentication_windows_use_principal_nameФормат командной строки --authentication-windows-use-principal-name[={OFF|ON}]Системная переменная authentication_windows_use_principal_nameОбласть действия Глобальная Динамическая Нет SET_VARПрименимо ли подсказкаНет Тип Булево Значение по умолчанию ONЭта переменная доступна только в том случае, если плагин проверки подлинности Windows
authentication_windowsвключен. См. Раздел 8.4.1.6, «Windows Pluggable Authentication».Клиент, который выполняет проверку подлинности с помощью функции
InitSecurityContext(), должен предоставить строку, идентифицирующую службу, к которой он подключается (targetName). MySQL использует имя принципала (UPN) учетной записи, под которой работает сервер. UPN имеет види не нужно регистрировать его нигде, чтобы он использовался. Этот UPN отправляется сервером в начале процесса проверки подлинности.user_id@computer_nameЭта переменная управляет тем, отправляет ли сервер UPN в начальном запросе. По умолчанию переменная включена. По соображениям безопасности ее можно отключить, чтобы избежать отправки имени учетной записи сервера клиенту в виде открытого текста. Если переменная отключена, сервер всегда отправляет байт
0x00в первом запросе, клиент не указываетtargetName, и в результате используется аутентификация NTLM.Если сервер не может получить свой UPN (что происходит в основном в средах, не поддерживающих аутентификацию Kerberos), UPN не отправляется сервером, и используется аутентификация NTLM.
-
Формат командной строки --autocommit[={OFF|ON}]Системная переменная autocommitОбласть действия Глобальная, сеанс Динамическая Да SET_VARПрименимо ли подсказкаНет Тип Булево Значение по умолчанию ONРежим автоматического подтверждения. Если значение установлено в 1, все изменения в таблице вступают в силу немедленно. Если значение установлено в 0, необходимо использовать
COMMITдля подтверждения транзакции илиROLLBACKдля ее отмены. Еслиautocommitравно 0, а затем его изменяют на 1, MySQL выполняет автоматическоеCOMMITлюбой открытой транзакции. Другой способ начать транзакцию — использовать операторSTART TRANSACTIONилиBEGIN. См. Раздел 15.3.1, «Операторы START TRANSACTION, COMMIT и ROLLBACK».По умолчанию подключения клиентов начинаются со значением
autocommit, равным 1. Чтобы клиенты начинали с значения по умолчанию 0, установите значение глобальной переменнойautocommit, запустив сервер с опцией--autocommit=0. Чтобы установить переменную с помощью файла конфигурации, добавьте следующие строки:[mysqld] autocommit=0
-
Формат командной строки --automatic-sp-privileges[={OFF|ON}]Системная переменная automatic_sp_privilegesОбласть действия Глобальная Динамическая Да SET_VARПрименимо ли подсказкаНет Тип Булево Значение по умолчанию ONКогда переменная имеет значение 1 (по умолчанию), сервер автоматически предоставляет привилегии
EXECUTEиALTER ROUTINEсоздателю хранимой процедуры, если пользователь уже не имеет права на выполнение и изменение или удаление процедуры. (ПривилегияALTER ROUTINEтребуется для удаления процедуры). Сервер также автоматически отнимает эти привилегии у создателя при удалении процедуры. Еслиautomatic_sp_privilegesравно 0, сервер не добавляет и не отнимает эти привилегии автоматически.Создателем процедуры является учетная запись, используемая для выполнения оператора
CREATE. Это может не совпадать с учетной записью, указанной какDEFINERв определении процедуры.При запуске mysqld с параметром
--skip-new,automatic_sp_privilegesустанавливается вOFF.См. также Раздел 27.2.2, «Хранимые процедуры и привилегии MySQL».
-
Формат командной строки --auto-generate-certs[={OFF|ON}]Системная переменная auto_generate_certsОбласть действия Глобальная Динамическая Нет SET_VARПрименимо ли подсказкаНет Тип Булево Значение по умолчанию ONЭта переменная управляет тем, генерирует ли сервер автоматически файлы ключей и сертификатов SSL в каталоге данных, если они еще не существуют.
При запуске сервер автоматически генерирует файлы сертификатов и ключей SSL для сервера и клиента в каталоге данных, если системная переменная
auto_generate_certsвключена, а файлы SSL для сервера отсутствуют в каталоге данных. Эти сертификаты всегда генерируются в таких случаях, независимо от значений других параметров TLS. Эти сертификаты и ключи обеспечивают безопасные подключения клиентов с использованием SSL; см. Раздел 8.3.1, «Настройка MySQL для использования шифрованных подключений».Дополнительную информацию об автоматическом создании файлов SSL, включая имена файлов и характеристики, см. в Разделе 8.3.3.1, «Создание сертификатов SSL и RSA с помощью MySQL»
Системные переменные
sha256_password_auto_generate_rsa_keysиcaching_sha2_password_auto_generate_rsa_keysсвязаны, но управляют автоматическим созданием файлов пар ключей RSA, необходимых для безопасного обмена паролями с использованием RSA по незащищенным каналам.
-
Формат командной строки --back-log=#Переменная системы back_logОбласть действия Глобальная Динамическая Нет SET_VARПрименяется подсказкаНет Тип Целое число Значение по умолчанию -1(указывает на автоматический размер; не присваивайте это значение)Минимальное значение 1Максимальное значение 65535Количество ожидающих запросов подключений, которые может иметь MySQL. Это становится актуальным, когда основной поток MySQL получает очень много запросов подключений за очень короткий промежуток времени. Затем основному потоку требуется некоторое время (хотя и очень малое) для проверки подключения и запуска нового потока. Значение
back_logуказывает, сколько запросов может быть размещено в очереди за это короткое время, прежде чем MySQL временно перестанет отвечать на новые запросы. Вам необходимо увеличить это значение только в том случае, если ожидается большое количество подключений за короткий период времени.Другими словами, это значение — размер очереди приема для входящих подключений TCP/IP. Ваша операционная система имеет собственное ограничение на размер этой очереди. Более подробную информацию можно найти в руководстве к системному вызову Unix
listen(). Проверьте документацию вашей ОС для определения максимального значения для этой переменной.back_logне может быть установлено выше предела вашей операционной системы.Значение по умолчанию — значение
max_connections, что позволяет регулировать ожидаемую очередь в соответствии с максимальным разрешённым количеством подключений. -
Формат командной строки --basedir=dir_nameПеременная системы basedirОбласть действия Глобальная Динамическая Нет SET_VARПрименяется подсказкаНет Тип Имя каталога Значение по умолчанию parent of mysqld installation directoryПуть к основному каталогу установки MySQL.
-
Формат командной строки --big-tables[={OFF|ON}]Переменная системы big_tablesОбласть действия Глобальная, сеанс Динамическая Да SET_VARПрименяется подсказкаНет Тип Булево Значение по умолчанию OFFПри включении сервер сохраняет все временные таблицы на диске, а не в памяти. Это предотвращает большинство ошибок
The tableдля операцийtbl_nameis fullSELECT, требующих большой временной таблицы, но также замедляет запросы, для которых временные таблицы в памяти были бы достаточны.Значение по умолчанию для новых подключений —
OFF(использовать временные таблицы в памяти). Обычно включать эту переменную не требуется. Когда временные внутренние таблицы в памяти управляются движком храненияTempTable(по умолчанию), и превышен максимальный объём памяти, который может быть занят движком храненияTempTable, движок храненияTempTableначинает сохранять данные во временные файлы на диске. При управлении временными таблицами в памяти движком храненияMEMORYвременные таблицы автоматически преобразуются в таблицы на диске по мере необходимости. Дополнительную информацию см. в Разделе 10.4.4, «Использование внутренних временных таблиц в MySQL».
-
Формат командной строки --bind-address=addrСистемная переменная bind_addressОбласть действия Глобальная Динамическая Нет SET_VARПрименяется ли подсказкаНет Тип Строка Значение по умолчанию *Сервер MySQL прослушивает один или несколько сетевых сокетов для подключений TCP/IP. Каждый сокет привязан к одному адресу, но один адрес может быть привязан к нескольким сетевым интерфейсам. Чтобы указать, как сервер должен прослушивать подключения TCP/IP, установите системную переменную
bind_addressпри запуске сервера. Сервер также имеет системную переменнуюadmin_address, которая позволяет устанавливать административные подключения на выделенном интерфейсе. См. Раздел 7.1.12.1, «Интерфейсы подключения».Если указана
bind_address, она принимает список одного или нескольких значений адреса, каждое из которых может указывать один IP-адрес или имя хоста без подстановочных знаков. Каждый адрес может содержать спецификатор сетевого пространства имён. Если указан только один адрес, он может использовать один из форматов адресов с подстановкой, которые позволяют прослушивать подключения на нескольких сетевых интерфейсах (*,0.0.0.0или::). Несколько адресов разделяются запятыми. При указании нескольких значений каждое значение должно указывать один IP-адрес (IPv4 или IPv6) или имя хоста без подстановочных знаков, и не допускаются форматы адресов с подстановкой (*,0.0.0.0или::).IP-адреса могут быть указаны как IPv4 или IPv6 адреса. Для любого значения, являющегося именем хоста, сервер разрешает имя до IP-адреса и привязывается к этому адресу. Если имя хоста разрешается до нескольких IP-адресов, сервер использует первый IPv4 адрес, если он есть, или первый IPv6 адрес в противном случае.
Сервер обрабатывает различные типы адресов следующим образом:
Если адрес равен
*, сервер принимает подключения TCP/IP на всех IPv4 интерфейсах хоста сервера и, если хост сервера поддерживает IPv6, на всех IPv6 интерфейсах. Используйте этот адрес для разрешения подключений IPv4 и IPv6 на всех интерфейсах сервера. Это значение по умолчанию. Если переменная указывает список нескольких значений, это значение не разрешается.Если адрес равен
0.0.0.0, сервер принимает подключения TCP/IP на всех IPv4 интерфейсах хоста сервера. Если переменная указывает список нескольких значений, это значение не разрешается.Если адрес равен
::, сервер принимает подключения TCP/IP на всех IPv4 и IPv6 интерфейсах хоста сервера. Если переменная указывает список нескольких значений, это значение не разрешается.Если адрес — это IPv4-адрес, отображаемый в IPv6 формате, сервер принимает TCP/IP подключения для этого адреса, как в IPv4, так и в IPv6 формате. Например, если сервер привязан к
::ffff:127.0.0.1, клиенты могут подключаться с помощью--host=127.0.0.1или--host=::ffff:127.0.0.1.Если адрес — это “обычный” IPv4 или IPv6 адрес (такой как
127.0.0.1или::1), сервер принимает TCP/IP подключения только для указанного IPv4 или IPv6 адреса.
Эти правила применяются к указанию сетевого пространства имён для адреса:
Сетевое пространство имён может быть указано для IP-адреса или имени хоста.
Сетевое пространство имён не может быть указано для IP-адреса с подстановкой.
Для данного адреса сетевое пространство имён является необязательным. Если указано, оно должно быть указано как суффикс
/непосредственно после адреса.nsАдрес без суффикса
/использует глобальное пространство имён хост-системы. Таким образом, глобальное пространство имён является значением по умолчанию.nsАдрес со суффиксом
/использует пространство имён с именемnsns.Хост-система должна поддерживать сетевые пространства имён, и каждое именованное пространство имён должно быть предварительно настроено. Указание несуществующего пространства имён приводит к ошибке.
Если значение переменной указывает несколько адресов, оно может включать адреса в глобальном пространстве имён, в именованных пространствах имён или их смесь.
Дополнительную информацию о сетевых пространствах имён см. в Разделе 7.1.14, «Поддержка сетевых пространств имён».
Если привязка к любому адресу не удаётся, сервер выводит ошибку и не запускается.
Примеры:
-
bind_address=*Сервер прослушивает все IPv4 или IPv6 адреса, как указано подстановкой
*. -
bind_address=198.51.100.20Сервер прослушивает только по адресу
198.51.100.20IPv4. -
bind_address=198.51.100.20,2001:db8:0:f101::1Сервер прослушивает по адресу
198.51.100.20IPv4 и адресу2001:db8:0:f101::1IPv6. -
bind_address=198.51.100.20,*Это приводит к ошибке, потому что подстановочные адреса не разрешены, когда
bind_addressназначает список нескольких значений. -
bind_address=198.51.100.20/red,2001:db8:0:f101::1/blue,192.0.2.50Сервер прослушивает по адресу
198.51.100.20IPv4 в пространстве имёнred, адресу2001:db8:0:f101::1IPv6 в пространстве имёнblueи адресу192.0.2.50IPv4 в глобальном пространстве имён.
Когда
bind_addressназначает одно значение (с подстановкой или без), сервер прослушивает по одному сокету, который для адреса с подстановкой может быть привязан к нескольким сетевым интерфейсам. Когдаbind_addressназначает список нескольких значений, сервер прослушивает по одному сокету на каждое значение, привязывая каждый сокет к одному сетевому интерфейсу. Количество сокетов линейно зависит от количества указанных значений. В зависимости от эффективности операционной системы при приёме подключений, длинные списки значений могут привести к потере производительности при приёме TCP/IP подключений.Поскольку для прослушивающих сокетов и файлов сетевых пространств имён выделены дескрипторы файлов, может потребоваться увеличить системную переменную
open_files_limit.Если вы намерены привязать сервер к определённому адресу, убедитесь, что в таблице
mysql.userесть учётная запись с административными правами, которую можно использовать для подключения к этому адресу. В противном случае вы не сможете остановить сервер. Например, если вы привяжете сервер к*, вы можете подключиться к нему с помощью всех существующих учётных записей. Но если вы привяжете сервер к::1, он принимает подключения только по этому адресу. В этом случае, сначала убедитесь, что учётная запись'root'@'::1'присутствует в таблицеmysql.user, чтобы вы всё ещё могли подключиться к серверу для его остановки. -
Формат командной строки --block-encryption-mode=#Системная переменная block_encryption_modeОбласть действия Глобальная, Сеанс Динамическая Да SET_VARПрименяется ли подсказкаНет Тип Строка Значение по умолчанию aes-128-ecbЭта переменная управляет режимом шифрования блоков для блочных алгоритмов, таких как AES. Она влияет на шифрование для
AES_ENCRYPT()иAES_DECRYPT().block_encryption_modeпринимает значение в форматеaes-, гдеkeylen-modekeylen— длина ключа в битах, аmode— режим шифрования. Значение не чувствительно к регистру. Разрешённые значенияkeylen— 128, 192 и 256. Разрешённые значенияmode—ECB,CBC,CFB1,CFB8,CFB128иOFB.Например, эта команда заставляет функции шифрования AES использовать длину ключа 256 бит и режим CBC:
SET block_encryption_mode = 'aes-256-cbc';
Возникает ошибка при попытке установить
block_encryption_modeна значение, содержащее недопустимую длину ключа или режим, который не поддерживается библиотекой SSL.
-
Системная переменная build_idОбласть видимости Глобальная Динамическая Нет SET_VARПодсказка применяетсяНет Специфично для платформы Linux Это 160-битная
SHA1подпись, которая генерируется компоновщиком при компиляции сервера на системах Linux с помощью-DWITH_BUILD_ID=ON(включено по умолчанию) и преобразуется в шестнадцатеричную строку. Это значение только для чтения служит уникальным идентификатором сборки и записывается в лог сервера при запуске.build_idне поддерживается на платформах, отличных от Linux. -
Формат командной строки --bulk-insert-buffer-size=#Системная переменная bulk_insert_buffer_sizeОбласть видимости Глобальная, Сессия Динамическая Да SET_VARПодсказка применяетсяДа Тип Целое число Значение по умолчанию 8388608Минимальное значение 0Максимальное значение (64-битные платформы) 18446744073709551615Максимальное значение (32-битные платформы) 4294967295Единица измерения байт/поток MyISAMиспользует специальный древовидный кэш для ускорения массовой вставки дляINSERT ... SELECT,INSERT ... VALUES (...), (...), ...иLOAD DATAпри добавлении данных в незаполненные таблицы. Эта переменная ограничивает размер дерева кэша в байтах на поток. Установка значения 0 отключает эту оптимизацию. Значение по умолчанию — 8 МБ.Установка значения сессии этой системной переменной является ограниченной операцией. Пользователь сессии должен иметь права, достаточные для установки ограниченных переменных сессии. См. Раздел 7.1.9.1, «Привилегии системных переменных».
-
caching_sha2_password_digest_roundsФормат командной строки --caching-sha2-password-digest-rounds=#Системная переменная caching_sha2_password_digest_roundsОбласть видимости Глобальная Динамическая Нет SET_VARПодсказка применяетсяНет Тип Целое число Значение по умолчанию 5000Минимальное значение 5000Максимальное значение 4095000Количество раундов хеширования, используемых подключаемым модулем аутентификации
caching_sha2_passwordдля хранения паролей.Увеличение количества раундов хеширования выше значения по умолчанию приводит к снижению производительности, которое коррелирует с величиной увеличения:
Создание учетной записи, использующей подключаемый модуль
caching_sha2_password, не влияет на сеанс клиента, в котором создается учетная запись, но сервер должен выполнить раунды хеширования для завершения операции.Для клиентских подключений, использующих учетную запись, сервер должен выполнить раунды хеширования и сохранить результат в кэше. Результатом является более длительное время входа для первого клиентского подключения, но не для последующих подключений. Это поведение происходит после каждого перезапуска сервера.
-
caching_sha2_password_auto_generate_rsa_keysФормат командной строки --caching-sha2-password-auto-generate-rsa-keys[={OFF|ON}]Системная переменная caching_sha2_password_auto_generate_rsa_keysОбласть видимости Глобальная Динамическая Нет SET_VARПодсказка применяетсяНет Тип Логическое Значение по умолчанию ONСервер использует эту переменную для определения того, следует ли автоматически генерировать файлы пар закрытых/открытых ключей RSA в каталоге данных, если они еще не существуют.
При запуске сервер автоматически генерирует файлы пар закрытых/открытых ключей RSA в каталоге данных, если выполнены все следующие условия: системная переменная
sha256_password_auto_generate_rsa_keysилиcaching_sha2_password_auto_generate_rsa_keysвключена; параметры RSA не указаны; файлы RSA отсутствуют в каталоге данных. Эти файлы пар ключей обеспечивают безопасный обмен паролями с использованием RSA по незашифрованным соединениям для учетных записей, аутентифицированных с помощьюsha256_password(устаревший) илиcaching_sha2_passwordподключаемого модуля; см. Раздел 8.4.1.3, «Подключаемая аутентификация SHA-256» и Раздел 8.4.1.2, «Подключаемая аутентификация Caching SHA-2».Для получения дополнительной информации об автоматическом создании файлов RSA, включая имена файлов и характеристики, см. Раздел 8.3.3.1, «Создание сертификатов и ключей SSL и RSA с помощью MySQL»
Системная переменная
auto_generate_certsсвязана, но управляет автоматическим созданием файлов сертификатов и ключей SSL, необходимых для безопасных соединений с использованием SSL. -
caching_sha2_password_private_key_pathФормат командной строки --caching-sha2-password-private-key-path=file_nameСистемная переменная caching_sha2_password_private_key_pathОбласть видимости Глобальная Динамическая Нет SET_VARПодсказка применяетсяНет Тип Имя файла Значение по умолчанию private_key.pemЭта переменная указывает имя пути файла закрытого ключа RSA для подключаемого модуля аутентификации
caching_sha2_password. Если файл указан как относительный путь, он интерпретируется относительно каталога данных сервера. Файл должен быть в формате PEM.ВажноПоскольку этот файл хранит закрытый ключ, его режим доступа должен быть ограничен таким образом, чтобы только сервер MySQL мог его читать.
Для получения информации о
caching_sha2_password, см. Раздел 8.4.1.2, «Подключаемая аутентификация Caching SHA-2». -
caching_sha2_password_public_key_pathФормат командной строки --caching-sha2-password-public-key-path=file_nameСистемная переменная caching_sha2_password_public_key_pathОбласть видимости Глобальная Динамическая Нет SET_VARПодсказка применяетсяНет Тип Имя файла Значение по умолчанию public_key.pemЭта переменная указывает имя пути файла открытого ключа RSA для подключаемого модуля аутентификации
caching_sha2_password. Если файл указан как относительный путь, он интерпретируется относительно каталога данных сервера. Файл должен быть в формате PEM.Для получения информации о
caching_sha2_password, включая информацию о том, как клиенты запрашивают открытый ключ RSA, см. Раздел 8.4.1.2, «Подключаемая аутентификация Caching SHA-2».
-
Системная переменная character_set_clientОбласть видимости Глобальная, сессии Динамическая Да SET_VARПодсказка применяетсяНет Тип Строка Значение по умолчанию utf8mb4Кодировка символов для запросов, поступающих от клиента. Значение этой переменной для сессии устанавливается с использованием кодировки, запрошенной клиентом при подключении к серверу. (Многие клиенты поддерживают опцию
--default-character-setдля явного указания кодировки. См. также Раздел 12.4, «Кодировки и сортировки соединений».) Глобальное значение переменной используется для установки значения сессии в тех случаях, когда запрашиваемое клиентом значение неизвестно или недоступно, или сервер настроен на игнорирование запросов клиента. Это может произойти, когда клиент запрашивает кодировку, неизвестную серверу, например, когда клиент с поддержкой японского языка запрашиваетsjisпри подключении к серверу, не настроенному с поддержкойsjis.Некоторые кодировки не могут использоваться в качестве кодировки клиента. Попытка использовать их в качестве значения
character_set_clientприводит к ошибке. См. Недопустимые кодировки клиента. -
Системная переменная character_set_connectionОбласть видимости Глобальная, сессии Динамическая Да SET_VARПодсказка применяетсяНет Тип Строка Значение по умолчанию utf8mb4Кодировка символов, используемая для литералов, указанных без спецификатора кодировки, и для преобразования числа в строку. Для получения информации о спецификаторах см. Раздел 12.3.8, «Спецификаторы кодировки символов».
-
Системная переменная character_set_databaseОбласть видимости Глобальная, сессии Динамическая Да SET_VARПодсказка применяетсяНет Тип Строка Значение по умолчанию utf8mb4Примечание Этот параметр является динамическим, но должен устанавливаться только сервером. Не следует устанавливать эту переменную вручную. Кодировка символов, используемая базой данных по умолчанию. Сервер устанавливает эту переменную всякий раз, когда меняется база данных по умолчанию. Если базы данных по умолчанию нет, переменная имеет то же значение, что и
character_set_server.Установка значения сессии этой системной переменной является ограниченной операцией. Пользователь сессии должен иметь права, достаточные для установки ограниченных переменных сессии. См. Раздел 7.1.9.1, «Права на системные переменные».
Глобальные системные переменные
character_set_databaseиcollation_databaseустарели; ожидается, что они будут удалены в будущей версии MySQL.Присваивание значения системным переменным сессии
character_set_databaseиcollation_databaseустарело и приводит к предупреждению. Ожидается, что переменные сессии станут доступными только для чтения (и присваивания им будут вызывать ошибку) в будущей версии MySQL, в которой останется возможность доступа к переменным сессии для определения кодировки и сортировки базы данных по умолчанию. -
Формат командной строки --character-set-filesystem=nameСистемная переменная character_set_filesystemОбласть видимости Глобальная, сессии Динамическая Да SET_VARПодсказка применяетсяНет Тип Строка Значение по умолчанию binaryКодировка файловой системы. Эта переменная используется для интерпретации строковых литералов, которые ссылаются на имена файлов, например, в операторах
LOAD DATAиSELECT ... INTO OUTFILEи функцииLOAD_FILE(). Такие имена файлов преобразуются изcharacter_set_clientвcharacter_set_filesystemперед попыткой открытия файла. Значение по умолчанию —binary, что означает, что преобразование не выполняется. Для систем, на которых разрешены многобайтовые имена файлов, может быть более подходящим другое значение. Например, если система представляет имена файлов с помощью UTF-8, установитеcharacter_set_filesystemв'utf8mb4'.Установка значения сессии этой системной переменной является ограниченной операцией. Пользователь сессии должен иметь права, достаточные для установки ограниченных переменных сессии. См. Раздел 7.1.9.1, «Права на системные переменные».
-
Системная переменная character_set_resultsОбласть видимости Глобальная, сессии Динамическая Да SET_VARПодсказка применяетсяНет Тип Строка Значение по умолчанию utf8mb4Кодировка символов, используемая для возврата результатов запроса клиенту. Это включает в себя данные результатов, такие как значения столбцов, метаданные результатов, такие как имена столбцов, и сообщения об ошибках.
-
Формат командной строки --character-set-server=nameСистемная переменная character_set_serverОбласть видимости Глобальная, сессии Динамическая Да SET_VARПодсказка применяетсяНет Тип Строка Значение по умолчанию utf8mb4Кодировка по умолчанию сервера. См. Раздел 12.15, «Настройка кодировки символов». Если вы устанавливаете эту переменную, вам также следует установить
collation_serverдля указания сортировки для кодировки. -
Системная переменная character_set_systemОбласть видимости Глобальная Динамическая Нет SET_VARПодсказка применяетсяНет Тип Строка Значение по умолчанию utf8mb3Кодировка символов, используемая сервером для хранения идентификаторов. Значение всегда равно
utf8mb3.
-
Формат командной строки --character-sets-dir=dir_nameСистемная переменная character_sets_dirОбласть действия Глобальная Динамическая Нет SET_VARПрименяется подсказкаНет Тип Имя каталога Каталог, в котором установлены наборы символов. См. Раздел 12.15, «Настройка наборов символов».
-
Формат командной строки --check-proxy-users[={OFF|ON}]Системная переменная check_proxy_usersОбласть действия Глобальная Динамическая Да SET_VARПрименяется подсказкаНет Тип Булево Значение по умолчанию OFFНекоторые плагины аутентификации реализуют отображение пользователей-прокси для себя (например, плагины аутентификации PAM и Windows). Другие плагины аутентификации по умолчанию не поддерживают пользователей-прокси. Из них некоторые могут запросить, чтобы сервер MySQL сам сопоставлял пользователей-прокси в соответствии с предоставленными привилегиями прокси:
mysql_native_password(устаревшее),sha256_password(устаревшее).Если системная переменная
check_proxy_usersвключена, сервер выполняет отображение пользователей-прокси для любых плагинов аутентификации, которые делают такой запрос. Возможно, также потребуется включить плагин-специфичные системные переменные, чтобы воспользоваться поддержкой отображения серверных пользователей-прокси:Для устаревшего плагина
mysql_native_password(устаревшее) включитеmysql_native_password_proxy_users.Для плагина
sha256_password(устаревшее) включитеsha256_password_proxy_users.
Сведения о пользователях-прокси см. в Разделе 8.2.19, «Пользователи-прокси».
-
Системная переменная collation_connectionОбласть действия Глобальная, Сеанс Динамическая Да SET_VARПрименяется подсказкаНет Тип Строка Набор символов сопоставления подключения.
collation_connectionважен для сравнения строковых литералов. Для сравнения строк со значениями столбцовcollation_connectionзначения не имеет, поскольку столбцы имеют собственное сопоставление, которое имеет более высокую приоритет сопоставления (см. Раздел 12.8.4, «Сопоставимость сопоставления в выражениях»).Использование имени пользовательского сопоставления для этой переменной вызывает предупреждение.
-
Системная переменная collation_databaseОбласть действия Глобальная, Сеанс Динамическая Да SET_VARПрименяется подсказкаНет Тип Строка Значение по умолчанию utf8mb4_0900_ai_ciПримечание Этот параметр динамический, но должен устанавливаться только сервером. Вы не должны вручную устанавливать эту переменную. Сопоставление, используемое для базы данных по умолчанию. Сервер устанавливает эту переменную всякий раз, когда изменяется база данных по умолчанию. Если базы данных по умолчанию нет, переменная имеет то же значение, что и
collation_server.Глобальные системные переменные
character_set_databaseиcollation_databaseустарели; ожидается, что они будут удалены в будущих версиях MySQL.Назначение значения сеансовой системной переменной
character_set_databaseиcollation_databaseустарело, и назначения приводят к предупреждению. Ожидается, что сеансовые переменные станут только для чтения (и назначения приведут к ошибке) в будущей версии MySQL, в которой по-прежнему будет возможность получить доступ к сеансовым переменным для определения набора символов и сопоставления базы данных по умолчанию.Использование имени пользовательского сопоставления для
collation_databaseвызывает предупреждение. -
Формат командной строки --collation-server=nameСистемная переменная collation_serverОбласть действия Глобальная, Сеанс Динамическая Да SET_VARПрименяется подсказкаНет Тип Строка Значение по умолчанию utf8mb4_0900_ai_ciСопоставление по умолчанию сервера. См. Раздел 12.15, «Настройка наборов символов».
Установка этого значения на имя пользовательского сопоставления вызывает предупреждение.
-
Формат командной строки --completion-type=#Системная переменная completion_typeОбласть действия Глобальная, Сеанс Динамическая Да Применяется ли подсказка SET_VARНет Тип Перечисление Значение по умолчанию NO_CHAINДопустимые значения NO_CHAINCHAINRELEASE012Тип завершения транзакции. Эта переменная может принимать значения, показанные в следующей таблице. Переменную можно задать, используя либо имена значений, либо соответствующие целые значения.
Значение Описание NO_CHAIN(или 0)COMMITиROLLBACKне затрагиваются. Это значение по умолчанию.CHAIN(или 1)COMMITиROLLBACKэквивалентныCOMMIT AND CHAINиROLLBACK AND CHAINсоответственно. (Новая транзакция начинается сразу же с тем же уровнем изоляции, что и только что завершённая транзакция.)RELEASE(или 2)COMMITиROLLBACKэквивалентныCOMMIT RELEASEиROLLBACK RELEASEсоответственно. (Сервер отключается после завершения транзакции.)completion_typeвлияет на транзакции, которые начинаются сSTART TRANSACTIONилиBEGINи заканчиваются сCOMMITилиROLLBACK. Он не применяется к неявным подтверждениям, возникающим в результате выполнения операторов, перечисленных в Разделе 15.3.3, «Операторы, вызывающие неявное подтверждение». Он также не применяется кXA COMMIT,XA ROLLBACK, или когдаautocommit=1. -
Формат командной строки --component-scheduler.enabled[=value]Системная переменная component_scheduler.enabledОбласть действия Глобальная Динамическая Да Применяется ли подсказка SET_VARНет Тип Булево Значение по умолчанию ONПри установке в значение
OFFпри запуске фоновый поток не запускается. Задачи всё ещё могут быть запланированы, но они не выполняются, покаcomponent_schedulerне будет включено. При установке в значениеONпри запуске компонент полностью функционирует.Также можно установить значение динамически, чтобы получить следующие эффекты:
ONзапускает фоновый поток, который начинает обслуживание очереди сразу.OFFсигнализирует о завершении фонового потока, который ожидает его окончания. Фоновый поток проверяет флаг завершения перед доступом к очереди, чтобы проверить наличие задач для выполнения.
-
Формат командной строки --concurrent-insert[=value]Системная переменная concurrent_insertОбласть действия Глобальная Динамическая Да Применяется ли подсказка SET_VARНет Тип Перечисление Значение по умолчанию AUTOДопустимые значения NEVERAUTOALWAYS012Если установлено значение
AUTO(значение по умолчанию), MySQL разрешает выполнение операторовINSERTиSELECTодновременно для таблицMyISAM, которые не имеют свободных блоков посередине файла данных.Эта переменная может принимать значения, показанные в следующей таблице. Переменную можно задать, используя либо имена значений, либо соответствующие целые значения.
Значение Описание NEVER(или 0)Отключает одновременные вставки AUTO(или 1)(По умолчанию) Включает одновременные вставки для таблиц MyISAM, которые не имеют пробеловALWAYS(или 2)Включает одновременные вставки для всех таблиц MyISAM, даже тех, которые имеют пробелы. Для таблицы с пробелом новые строки вставляются в конец таблицы, если она используется другим потоком. В противном случае MySQL получает обычный блокирующий замок записи и вставляет строку в пробел.Если вы запускаете mysqld с
--skip-new,concurrent_insertустановлено в значениеNEVER.См. также Раздел 10.11.3, «Одновременные вставки».
-
Формат командной строки --connect-timeout=#Системная переменная connect_timeoutОбласть действия Глобальная Динамическая Да Применяется ли подсказка SET_VARНет Тип Целое число Значение по умолчанию 10Минимальное значение 2Максимальное значение 31536000Единица измерения секунды Количество секунд, которое сервер mysqld ожидает пакет подключения перед ответом
Bad handshake. Значение по умолчанию составляет 10 секунд.Увеличение значения
connect_timeoutможет помочь, если клиенты часто сталкиваются с ошибками видаLost connection to MySQL server at '.XXX', system error:errno
-
Формат командной строки --connection-memory-chunk-size=#Системная переменная connection_memory_chunk_sizeОбласть действия Глобальная, Сеанс Динамическая Да SET_VARПрименимоНет Тип Целое число Значение по умолчанию 8192Минимальное значение 0Максимальное значение 536870912Единица измерения байты Установите размер фрагмента для обновлений глобального счётчика использования памяти
Global_connection_memory. Переменная состояния обновляется только тогда, когда общее потребление памяти всеми пользовательскими подключениями изменяется на значение, превышающее это количество. Отключить обновления, установивconnection_memory_chunk_size = 0.Расчёт памяти не включает память, используемую системными пользователями, такими как пользователь MySQL root. Также не учитывается память, используемая буфером пула
InnoDB.Для установки этой переменной необходимо иметь привилегию
SYSTEM_VARIABLES_ADMINилиSUPER. -
Формат командной строки --connection-memory-limit=#Системная переменная connection_memory_limitОбласть действия Глобальная, Сеанс Динамическая Да SET_VARПрименимоНет Тип Целое число Значение по умолчанию 18446744073709551615Минимальное значение 2097152Максимальное значение 18446744073709551615Единица измерения байты Установите максимальное количество памяти, которое может использовать одно пользовательское подключение. Если какое-либо пользовательское подключение использует больше этого значения, все запросы от этого подключения отклоняются, включая любые запросы, которые в данный момент выполняются.
Ограничение, установленное этой переменной, не применяется к системным пользователям или к учётной записи MySQL root. Также не учитывается память, используемая буфером пула
InnoDB.Для установки этой переменной необходимо иметь привилегию
SYSTEM_VARIABLES_ADMINилиSUPER. -
Системная переменная core_fileОбласть действия Глобальная Динамическая Нет SET_VARПрименимоНет Тип Булево Значение по умолчанию OFFФлаг записи файла core при неожиданном завершении работы сервера. Эта переменная устанавливается параметром
--core-file. -
Формат командной строки --create-admin-listener-thread[={OFF|ON}]Системная переменная create_admin_listener_threadОбласть действия Глобальная Динамическая Нет SET_VARПрименимоНет Тип Булево Значение по умолчанию OFFИспользовать ли отдельный поток прослушивания для подключений клиентов на административном сетевом интерфейсе (см. Раздел 7.1.12.1, «Интерфейсы подключения»). Значение по умолчанию
OFF; то есть поток управления обычными подключениями на главном интерфейсе также обрабатывает подключения к административному интерфейсу.В зависимости от таких факторов, как тип платформы и рабочая нагрузка, вы можете обнаружить, что одно значение этой переменной обеспечивает лучшую производительность, чем другое.
Установка
create_admin_listener_threadне оказывает никакого эффекта, еслиadmin_addressне указан, поскольку в этом случае сервер не поддерживает административный сетевой интерфейс. -
Формат командной строки --cte-max-recursion-depth=#Системная переменная cte_max_recursion_depthОбласть действия Глобальная, Сеанс Динамическая Да SET_VARПрименимоНет Тип Целое число Значение по умолчанию 1000Минимальное значение 0Максимальное значение 4294967295Максимальная глубина рекурсии выражения общего вида (CTE). Сервер завершает выполнение любого CTE, который выполняет рекурсию на большее количество уровней, чем значение этой переменной. Дополнительную информацию см. в разделе Ограничение рекурсии выражений общего вида.
-
Формат командной строки --datadir=dir_nameСистемная переменная datadirОбласть действия Глобальная Динамическая Нет SET_VARПрименимоНет Тип Имя каталога Путь к каталогу данных сервера MySQL. Относительные пути разрешаются относительно текущего каталога. Если ожидается, что сервер будет запускаться автоматически (то есть в контекстах, где текущий каталог заранее неизвестен), лучше указать значение
datadirкак абсолютный путь. -
Формат командной строки --debug[=debug_options]Системная переменная debugОбласть действия Глобальная, Сеанс Динамическая Да SET_VARПрименимоНет Тип Строка Значение по умолчанию (Unix) d:t:i:o,/tmp/mysqld.traceЗначение по умолчанию (Windows) d:t:i:O,\mysqld.traceЭта переменная указывает текущие настройки отладки. Она доступна только для серверов, скомпилированных с поддержкой отладки. Начальное значение взято из значения экземпляров параметра
--debug, указанного при запуске сервера. Глобальные и сеансовые значения могут быть установлены во время выполнения.Установка сеансового значения этой системной переменной — ограниченная операция. Пользователь сеанса должен обладать достаточными привилегиями для установки ограниченных сеансовых переменных. См. Раздел 7.1.9.1, «Привилегии на системные переменные».
Присвоение значения, начинающегося с
+или-, приводит к добавлению или вычитанию значения из текущего значения:mysql>
SET debug = 'T';mysql>SELECT @@debug;+---------+ | @@debug | +---------+ | T | +---------+ mysql>SET debug = '+P';mysql>SELECT @@debug;+---------+ | @@debug | +---------+ | P:T | +---------+ mysql>SET debug = '-P';mysql>SELECT @@debug;+---------+ | @@debug | +---------+ | T | +---------+Дополнительную информацию см. в Разделе 7.9.4, «Пакет DBUG».
-
Переменная сервера debug_syncОбласть действия Сеанс Динамическая Да SET_VARПрименимо к подсказкеНет Тип Строка Эта переменная — интерфейс для средства отладки синхронизации. Для использования отладки синхронизации необходимо настроить MySQL с опцией
-DWITH_DEBUG=ONCMake (см. Раздел 2.8.7, «Опции конфигурации исходного кода MySQL»); в противном случае эта системная переменная недоступна.Глобальное значение переменной — только для чтения и указывает, включено ли средство. По умолчанию отладка синхронизации отключена, и значение
debug_syncравноOFF. Если сервер запущен с--debug-sync-timeout=, гдеNN— значение таймаута, большее 0, отладка синхронизации включена, а значениеdebug_syncравноON - current signal, за которым следует имя сигнала. Кроме того,Nстановится значением таймаута по умолчанию для отдельных точек синхронизации.Сеансовое значение может быть прочитано любым пользователем и имеет то же значение, что и глобальная переменная. Значение сеанса можно задать для управления точками синхронизации.
Установка сеансового значения этой системной переменной — ограниченная операция. Пользователь сеанса должен иметь достаточные привилегии для установки ограниченных сеансовых переменных. См. Раздел 7.1.9.1, «Привилегии на системные переменные».
Описание средства отладки синхронизации и использование точек синхронизации см. в MySQL Internals: Test Synchronization.
-
Переменная сервера default_collation_for_utf8mb4Область действия Глобальная, Сеанс Динамическая Да SET_VARПрименимо к подсказкеНет Тип Перечисление Значение по умолчанию utf8mb4_0900_ai_ciДопустимые значения utf8mb4_0900_ai_ciutf8mb4_general_ciВажноСистемная переменная
default_collation_for_utf8mb4предназначена только для внутреннего использования MySQL Replication.Эта переменная устанавливается сервером в качестве значения по умолчанию для кодировки
utf8mb4набора символов. Значение переменной дублируется со источника на реплику, чтобы реплика могла правильно обрабатывать данные, полученные с источника, имеющего другую кодировку по умолчанию дляutf8mb4. Эта переменная в основном предназначена для поддержки репликации с MySQL 5.7 или более раннего сервера-источника репликации на более поздний сервер репликации MySQL или групповой репликации с узлом MySQL 5.7 в качестве первичного узла и одним или несколькими вторичными узлами MySQL 8.0 или более поздних версий. Значение по умолчанию дляutf8mb4в MySQL 5.7 равноutf8mb4_general_ci, ноutf8mb4_0900_ai_ciв более поздних версиях. Переменная отсутствует в выпусках до MySQL 8.0, поэтому, если реплика не получает значения для переменной, она предполагает, что источник — из более ранней версии и устанавливает значение на предыдущее значение по умолчаниюutf8mb4_general_ci.Кодировка по умолчанию
utf8mb4используется в следующих операциях:CREATE TABLEиALTER TABLEс предложениемCHARACTER SET utf8mb4без предложенияCOLLATION, либо для набора символов таблицы, либо для набора символов столбца.CREATE DATABASEиALTER DATABASEс предложениемCHARACTER SET utf8mb4без предложенияCOLLATION.Любая операция, содержащая строковую литерал вида
_utf8mb4'без предложенияsome text'COLLATE.
См. также Раздел 12.9, «Поддержка Unicode».
-
Формат командной строки --default-password-lifetime=#Переменная сервера default_password_lifetimeОбласть действия Глобальная Динамическая Да SET_VARПрименимо к подсказкеНет Тип Целое число Значение по умолчанию 0Минимальное значение 0Максимальное значение 65535Единица измерения дней Эта переменная определяет глобальную политику автоматического истечения срока действия паролей. Значение по умолчанию
default_password_lifetimeравно 0, что отключает автоматическое истечение срока действия паролей. Если значениеdefault_password_lifetime— положительное целое числоN, оно указывает допустимый срок действия паролей; пароли должны быть изменены каждыеNдней.Глобальную политику истечения срока действия паролей можно переопределить для отдельных учетных записей, используя опцию истечения срока действия пароля в операциях
CREATE USERиALTER USER. См. Раздел 8.2.15, «Управление паролями». -
Формат командной строки --default-storage-engine=nameПеременная сервера default_storage_engineОбласть действия Глобальная, Сеанс Динамическая Да SET_VARПрименимо к подсказкеНет Тип Перечисление Значение по умолчанию InnoDBДвигатель хранения по умолчанию для таблиц. См. Глава 18, Альтернативные движки хранения. Эта переменная устанавливает движок хранения только для постоянных таблиц. Чтобы установить движок хранения для
TEMPORARYтаблиц, установите системную переменнуюdefault_tmp_storage_engine.Чтобы увидеть доступные и включённые движки хранения, используйте операцию
SHOW ENGINESили запросите таблицуINFORMATION_SCHEMAENGINES.Если вы отключаете движок хранения по умолчанию при запуске сервера, вы должны установить движок по умолчанию как для постоянных, так и для
TEMPORARYтаблиц, в противном случае сервер не запустится.
-
Формат командной строки --default-table-encryption[={OFF|ON}]Переменная системы default_table_encryptionОбласть действия Глобальная, сеансовая Динамическая Да SET_VARПрименимоДа Тип Булево Значение по умолчанию OFFОпределяет стандартную настройку шифрования, применяемую к схемам и общим таблицам, когда они создаются без указания
ENCRYPTION-описания.Переменная
default_table_encryptionприменяется только к созданным пользователем схемам и общим таблицам. Она не управляет шифрованиемmysqlсистемной таблицы.Для изменения текущего значения переменной
default_table_encryptionтребуются праваSYSTEM_VARIABLES_ADMINиTABLE_ENCRYPTION_ADMIN, или устаревшее правоSUPER.default_table_encryptionподдерживает синтаксисSET PERSISTиSET PERSIST_ONLY. См. Раздел 7.1.9.3, «Постоянные переменные системы».Дополнительную информацию см. в Определении значения шифрования по умолчанию для схем и общих табличных пространств.
-
Формат командной строки --default-tmp-storage-engine=nameПеременная системы default_tmp_storage_engineОбласть действия Глобальная, сеансовая Динамическая Да SET_VARПрименимоДа Тип Перечисление Значение по умолчанию InnoDBСтандартный движок хранения для
TEMPORARYтаблиц (созданных с помощьюCREATE TEMPORARY TABLE). Чтобы установить движок хранения для постоянных таблиц, установите переменную системыdefault_storage_engine. Также см. обсуждение этой переменной относительно возможных значений.Если вы отключите стандартный движок хранения при запуске сервера, вы должны установить стандартный движок как для постоянных, так и для
TEMPORARYтаблиц на другой движок, иначе сервер не запустится. -
Формат командной строки --default-week-format=#Переменная системы default_week_formatОбласть действия Глобальная, сеансовая Динамическая Да SET_VARПрименимоНет Тип Целое число Значение по умолчанию 0Минимальное значение 0Максимальное значение 7Значение режима по умолчанию для использования функции
WEEK(). См. Раздел 14.7, «Функции даты и времени». -
Формат командной строки --delay-key-write[={OFF|ON|ALL}]Переменная системы delay_key_writeОбласть действия Глобальная Динамическая Да SET_VARПрименимоНет Тип Перечисление Значение по умолчанию ONДопустимые значения OFFONALLЭта переменная указывает, как использовать отложенные записи ключей. Она применяется только к
MyISAMтаблицам. Отложенные записи ключей приводят к тому, что буферы ключей не сбрасываются между записями. См. также Раздел 18.2.1, «Параметры запуска MyISAM».Эта переменная может принимать одно из следующих значений для влияния на обработку
DELAY_KEY_WRITEпараметра таблицы, который может использоваться в операторахCREATE TABLE.Вариант Описание OFFDELAY_KEY_WRITEигнорируется.ONMySQL учитывает любой DELAY_KEY_WRITEпараметр, указанный в операторахCREATE TABLE. Это значение по умолчанию.ALLВсе новые открытые таблицы обрабатываются так, как если бы они были созданы с включенным параметром DELAY_KEY_WRITE.ПримечаниеЕсли вы установили эту переменную на значение
ALL, вам не следует использоватьMyISAMтаблицы из другой программы (например, другого сервера MySQL или myisamchk) когда таблицы используются. Это может привести к повреждению индекса.Если
DELAY_KEY_WRITEвключено для таблицы, буфер ключей не сбрасывается для таблицы при каждом обновлении индекса, а только при закрытии таблицы. Это значительно ускоряет запись в ключи, но если вы используете эту функцию, вам следует добавить автоматическую проверку всехMyISAMтаблиц, запустив сервер с установленной системной переменнойmyisam_recover_options(например,myisam_recover_options='BACKUP,FORCE'). См. Раздел 7.1.8, «Системные переменные сервера» и Раздел 18.2.1, «Параметры запуска MyISAM».Если вы запускаете mysqld с
--skip-new,delay_key_writeустанавливается вOFF.ПредупреждениеЕсли вы включите внешние блокировки с помощью
--external-locking, защита от повреждения индекса для таблиц, использующих отложенные записи ключей, отсутствует. -
Формат командной строки --delayed-insert-limit=#Устаревший Да Переменная системы delayed_insert_limitОбласть действия Глобальная Динамическая Да SET_VARПрименимоНет Тип Целое число Значение по умолчанию 100Минимальное значение 1Максимальное значение (64-разрядные платформы) 18446744073709551615Максимальное значение (32-разрядные платформы) 4294967295Эта системная переменная устарела (потому что
DELAYEDвставки не поддерживаются), и вы можете ожидать, что она будет удалена в будущих выпусках.
-
Формат командной строки --delayed-insert-timeout=#Устаревший Да Переменная системы delayed_insert_timeoutОбласть действия Глобальная Динамическая Да SET_VARПрименяется ли подсказкаНет Тип Целое число Значение по умолчанию 300Минимальное значение 1Максимальное значение 31536000Единица измерения секунды Эта переменная системы устарела (потому что
DELAYEDвставки не поддерживаются), и ожидается, что она будет удалена в будущих выпусках. -
Формат командной строки --delayed-queue-size=#Устаревший Да Переменная системы delayed_queue_sizeОбласть действия Глобальная Динамическая Да SET_VARПрименяется ли подсказкаНет Тип Целое число Значение по умолчанию 1000Минимальное значение 1Максимальное значение (64-битные платформы) 18446744073709551615Максимальное значение (32-битные платформы) 4294967295Эта переменная системы устарела (потому что
DELAYEDвставки не поддерживаются), и ожидается, что она будет удалена в будущих выпусках. -
Формат командной строки --disabled-storage-engines=engine[,engine]...Переменная системы disabled_storage_enginesОбласть действия Глобальная Динамическая Нет SET_VARПрименяется ли подсказкаНет Тип Строка Значение по умолчанию empty stringЭта переменная указывает, какие движки хранения нельзя использовать для создания таблиц или табличных пространств. Например, чтобы предотвратить создание новых таблиц
MyISAMилиFEDERATED, начните сервер с этими строками в файле опций сервера:[mysqld] disabled_storage_engines="MyISAM,FEDERATED"
По умолчанию
disabled_storage_enginesпуста (нет отключенных движков), но ее можно установить на список одного или нескольких движков, разделенных запятыми (регистр не имеет значения). Любой движок, указанный в значении, не может использоваться для создания таблиц или табличных пространств с помощьюCREATE TABLEилиCREATE TABLESPACE, а также не может использоваться сALTER TABLE ... ENGINEилиALTER TABLESPACE ... ENGINEдля изменения движка хранения существующих таблиц или табличных пространств. Попытки сделать это приведут к ошибке.disabled_storage_enginesне ограничивает другие операторы DDL для существующих таблиц, такие какCREATE INDEX,TRUNCATE TABLE,ANALYZE TABLE,DROP TABLEилиDROP TABLESPACE. Это позволяет плавно перейти, чтобы существующие таблицы или табличные пространства, использующие отключенный движок, могли быть перенесены в разрешенный движок с помощью таких методов, какALTER TABLE ... ENGINE.permitted_engineРазрешается установить переменную системы
default_storage_engineилиdefault_tmp_storage_engineна движок хранения, который отключен. Это может привести к тому, что приложения будут вести себя непредсказуемо или аварийно завершат работу, хотя это может быть полезной техникой в среде разработки для выявления приложений, использующих отключенные движки, для того, чтобы их можно было изменить.disabled_storage_enginesотключен и не оказывает никакого влияния, если сервер запускается с любыми из этих параметров:--initialize,--initialize-insecure,--skip-grant-tables. -
disconnect_on_expired_passwordФормат командной строки --disconnect-on-expired-password[={OFF|ON}]Переменная системы disconnect_on_expired_passwordОбласть действия Глобальная Динамическая Нет SET_VARПрименяется ли подсказкаНет Тип Булево Значение по умолчанию ONЭта переменная управляет тем, как сервер обрабатывает клиентов с истекшими паролями:
Если клиент указывает, что может обрабатывать истекшие пароли, значение
disconnect_on_expired_passwordне имеет значения. Сервер разрешает подключение клиента, но помещает его в режим ограниченного доступа.-
Если клиент не указывает, что может обрабатывать истекшие пароли, сервер обрабатывает клиента в соответствии со значением
disconnect_on_expired_password:Если
disconnect_on_expired_passwordвключена, сервер отключает клиента.Если
disconnect_on_expired_passwordотключена, сервер разрешает подключение клиента, но помещает его в режим ограниченного доступа.
Дополнительную информацию о взаимодействии настроек клиента и сервера, относящихся к обработке истекших паролей, см. в Разделе 8.2.16, «Обработка сервером истекших паролей».
-
Формат командной строки --div-precision-increment=#Переменная системы div_precision_incrementОбласть действия Глобальная, Сессия Динамическая Да SET_VARПрименяется ли подсказкаДа Тип Целое число Значение по умолчанию 4Минимальное значение 0Максимальное значение 30Эта переменная указывает количество цифр, на которое увеличивается масштаб результата операций деления, выполняемых с оператором
/. Значение по умолчанию равно 4. Минимальное и максимальное значения соответственно равны 0 и 30. Следующий пример иллюстрирует влияние увеличения значения по умолчанию.mysql>
SELECT 1/7;+--------+ | 1/7 | +--------+ | 0.1429 | +--------+ mysql>SET div_precision_increment = 12;mysql>SELECT 1/7;+----------------+ | 1/7 | +----------------+ | 0.142857142857 | +----------------+
-
dragnet.log_error_filter_rulesФормат командной строки --dragnet.log-error-filter-rules=valueПеременная системы dragnet.log_error_filter_rulesОбласть действия Глобальная Динамическая Да SET_VARПрименяется ли подсказкаНет Тип Строка Значение по умолчанию IF prio>=INFORMATION THEN drop. IF EXISTS source_line THEN unset source_line.Правила фильтрации, которые управляют работой компонента фильтра логов ошибок
log_filter_dragnet. Еслиlog_filter_dragnetне установлен,dragnet.log_error_filter_rulesнедоступен. Еслиlog_filter_dragnetустановлен, но не включен, изменения вdragnet.log_error_filter_rulesне имеют эффекта.Эффект значения по умолчанию аналогичен фильтрации, выполняемой фильтром
log_sink_internalс настройкойlog_error_verbosity=2.Статус-переменная
dragnet.Statusможет быть проконсультирована для определения результата последнего присвоенияdragnet.log_error_filter_rules. -
enterprise_encryption.maximum_rsa_key_sizeФормат командной строки --enterprise-encryption.maximum-rsa-key-size=#Переменная системы enterprise_encryption.maximum_rsa_key_sizeОбласть действия Глобальная Динамическая Да SET_VARПрименяется ли подсказкаНет Тип Целое число Значение по умолчанию 4096Минимальное значение 2048Максимальное значение 16384Эта переменная ограничивает максимальный размер ключей RSA, генерируемых MySQL Enterprise Encryption. Переменная доступна только в случае установки компонента MySQL Enterprise Encryption
component_enterprise_encryption.Самое низкое значение — 2048 бит, что является минимальной длиной ключа RSA, приемлемой по современным рекомендациям. Значение по умолчанию — 4096 бит. Максимальное значение — 16384 бита. Генерация более длинных ключей может существенно потребовать ресурсов процессора, поэтому вы можете использовать эту настройку, чтобы ограничить ключи длиной, обеспечивающей адекватную безопасность для ваших потребностей, при одновременном балансировании с использованием ресурсов. Дополнительную информацию см. в разделе 8.6.2 «Настройка MySQL Enterprise Encryption».
-
enterprise_encryption.rsa_support_legacy_paddingФормат командной строки --enterprise-encryption.rsa_support_legacy_padding[={OFF|ON}]Переменная системы enterprise_encryption.rsa_support_legacy_paddingОбласть действия Глобальная Динамическая Да SET_VARПрименяется ли подсказкаНет Тип Булево Значение по умолчанию OFFЭта переменная управляет тем, может ли зашифрованный данные и подписи, которые MySQL Enterprise Encryption создало с помощью старых функций библиотеки
openssl_udf, быть расшифрованы или проверены компонентом MySQL Enterprise Encryption (component_enterprise_encryption). Переменная доступна только в случае установки компонента MySQL Enterprise Encryption.Чтобы компонентные функции поддерживали расшифровку и проверку содержимого, созданного старыми функциями библиотеки
openssl_udf, необходимо установить значение переменной padding наON. КогдаONустановлено, если компонентные функции не могут расшифровать или проверить содержимое, предполагая, что оно имеет схему RSAES-OAEP или RSASSA-PSS (используемую компонентом), они пытаются ещё раз, предполагая, что оно имеет схему RSAES-PKCS1-v1_5 или RSASSA-PKCS1-v1_5 (как используется библиотекойopenssl_udf). КогдаOFFустановлено, если компонентные функции не могут расшифровать или проверить содержимое, используя свои обычные схемы, они возвращают пустой результат. Дополнительную информацию см. в разделе 8.6.2 «Настройка MySQL Enterprise Encryption». -
Формат командной строки --end-markers-in-json[={OFF|ON}]Переменная системы end_markers_in_jsonОбласть действия Глобальная, сессия Динамическая Да SET_VARПрименяется ли подсказкаДа Тип Булево Значение по умолчанию OFFДобавлять ли маркеры конца в выходные данные оптимизатора в формате JSON. См. MySQL Internals: The end_markers_in_json System Variable.
-
Формат командной строки --eq-range-index-dive-limit=#Переменная системы eq_range_index_dive_limitОбласть действия Глобальная, сессия Динамическая Да SET_VARПрименяется ли подсказкаДа Тип Целое число Значение по умолчанию 200Минимальное значение 0Максимальное значение 4294967295Эта переменная указывает количество диапазонов равенства в условии сравнения по равенству, когда оптимизатор должен перейти от использования погружений в индекс к статистике индекса при оценке количества удовлетворяющих строк. Она применяется к оценке выражений, имеющих одну из этих эквивалентных форм, где оптимизатор использует неуникальный индекс для поиска значений
col_name:col_nameIN(val1, ...,valN)col_name=val1OR ... ORcol_name=valNВ обоих случаях выражение содержит
Nдиапазонов равенства. Оптимизатор может оценивать строки с помощью погружений в индекс или статистики индекса. Еслиeq_range_index_dive_limitбольше 0, оптимизатор использует имеющуюся статистику индекса вместо погружений в индекс, если диапазонов равенстваeq_range_index_dive_limitили больше. Таким образом, чтобы разрешить использование погружений в индекс для доNдиапазонов равенства, установитеeq_range_index_dive_limitнаN+ 1. Чтобы отключить использование статистики индекса и всегда использовать погружения в индекс независимо отN, установитеeq_range_index_dive_limitна 0.Дополнительную информацию см. в разделе «Оптимизация диапазонов равенства для сравнений с несколькими значениями».
Для обновления статистики индекса таблиц для лучших оценок используйте
ANALYZE TABLE. -
Количество ошибок, возникших в результате последнего оператора, сгенерировавшего сообщения. Эта переменная является только для чтения. См. раздел 15.7.7.18 «Оператор SHOW ERRORS».
-
Формат командной строки --event-scheduler[=value]Системная переменная event_schedulerОбласть действия Глобальная Динамическая Да SET_VARПрименяется ли подсказкаНет Тип Перечисление Значение по умолчанию ONДопустимые значения ONOFFDISABLEDЭта переменная включает или отключает и запускает или останавливает планировщик событий. Возможные значения статуса —
ON,OFFиDISABLED. Включение планировщика событийOFFотличается от его отключения, которое требует установки статуса вDISABLED. Более подробная информация о этой переменной и её влиянии на работу планировщика событий приведена в разделе 27.4.2, «Настройка планировщика событий» -
Формат командной строки --explain-format=formatСистемная переменная explain_formatОбласть действия Глобальная, Сеанс Динамическая Да SET_VARПрименяется ли подсказкаНет Тип Перечисление Значение по умолчанию TRADITIONALДопустимые значения TRADITIONAL (DEFAULT)JSONTREEЭта переменная определяет формат вывода по умолчанию, используемый
EXPLAINпри отсутствии параметраFORMATпри отображении плана выполнения запроса. Возможные значения и их эффекты перечислены здесь:-
TRADITIONAL: Используется традиционный табличный вывод MySQL, как если быFORMAT=TRADITIONALбыло указано в качестве части командыEXPLAIN. Это значение по умолчанию.DEFAULTтакже поддерживается как синоним дляTRADITIONALи имеет точно такой же эффект.ПримечаниеDEFAULTне может быть использовано в качестве части параметраEXPLAINкомандыFORMAT. JSON: Используется формат вывода JSON, как если бы было указаноFORMAT=JSON.TREE: Используется формат древовидного вывода, как если бы было указаноFORMAT=TREE.
Настройка этой переменной также влияет на
EXPLAIN ANALYZE. Для этой целиDEFAULTиTRADITIONALинтерпретируются какTREE. Если значениеexplain_formatравноJSON, а командаEXPLAIN ANALYZEбез параметраFORMAT, то команда выдаст ошибку.Использование спецификатора формата с
EXPLAINилиEXPLAIN ANALYZEпереопределяет любое значение дляexplain_format.Системная переменная
explain_formatне влияет на выводEXPLAIN, когда эта команда используется для отображения информации о столбцах таблицы.Установка сеансового значения
explain_formatне требует специальных привилегий; установка на глобальном уровне требуетSYSTEM_VARIABLES_ADMIN(или устаревшегоSUPERпривилегии). См. раздел 7.1.9.1, «Привилегии на системные переменные».Более подробная информация и примеры приведены в Получение информации о плане выполнения.
-
-
Формат командной строки --explain-json-format-version=#Системная переменная explain_json_format_versionОбласть действия Глобальная, Сеанс Динамическая Да SET_VARПрименяется ли подсказкаНет Тип Целое число Значение по умолчанию 1Минимальное значение 1Максимальное значение 2Определяет версию формата JSON вывода, используемого командами
EXPLAIN FORMAT=JSON. Установка этой переменной в1заставляет сервер использовать версию 1, которая является линейным форматом вывода для таких команд в более старых версиях MySQL; это значение по умолчанию в MySQL 8.4. Установкаexplain_json_format_versionв2заставляет использовать формат версии 2; этот формат JSON вывода основан на путях доступа и предназначен для лучшей совместимости с будущими версиями оптимизатора MySQL.Пример использования см. в Получение информации о плане выполнения.
-
explicit_defaults_for_timestampФормат командной строки --explicit-defaults-for-timestamp[={OFF|ON}]Устаревший Да Переменная системы explicit_defaults_for_timestampОбласть действия Глобальная, сеанс Динамическая Да SET_VARПрименяется подсказкаНет Тип Булево Значение по умолчанию ONЭта переменная системы определяет, разрешает ли сервер определённые нестандартные действия для значений по умолчанию и обработки значений
NULLв колонкахTIMESTAMP. По умолчанию,explicit_defaults_for_timestampвключена, что отключает нестандартные действия. Отключениеexplicit_defaults_for_timestampприводит к появлению предупреждения.Если
explicit_defaults_for_timestampотключена, сервер включает нестандартные действия и обрабатывает колонкиTIMESTAMPследующим образом:Колонки
TIMESTAMP, не явно объявленные с атрибутомNULL, автоматически объявляются с атрибутомNOT NULL. Присвоение такой колонке значенияNULLразрешено и устанавливает колонку на текущую метку времени. Исключение: Попытка вставитьNULLв сгенерированную колонку, объявленную какTIMESTAMP NOT NULL, отклоняется с ошибкой.Первая колонка
TIMESTAMPв таблице, если она не объявлена явно с атрибутомNULLили явным атрибутомDEFAULTилиON UPDATE, автоматически объявляется с атрибутамиDEFAULT CURRENT_TIMESTAMPиON UPDATE CURRENT_TIMESTAMP.-
Колонки
TIMESTAMP, следующие за первой, если они не объявлены явно с атрибутомNULLили явным атрибутомDEFAULT, автоматически объявляются какDEFAULT '0000-00-00 00:00:00'(метка времени «ноль»). Для строк вставки, не содержащих явного значения для такой колонки, колонке присваивается'0000-00-00 00:00:00'и не появляется предупреждение.В зависимости от того, включен ли строгий режим SQL или режим SQL
NO_ZERO_DATE, значение по умолчанию'0000-00-00 00:00:00'может быть недействительным. Имейте в виду, что режим SQLTRADITIONALвключает строгий режим иNO_ZERO_DATE. См. Раздел 7.1.11, «Режимы SQL сервера».
Описанные нестандартные действия устарели; ожидается, что они будут удалены в будущих выпусках MySQL.
Если
explicit_defaults_for_timestampвключена, сервер отключает нестандартные действия и обрабатывает колонкиTIMESTAMPследующим образом:Невозможно присвоить колонке
TIMESTAMPзначениеNULLдля установки её на текущую метку времени. Для присвоения текущей метки времени установите колонку наCURRENT_TIMESTAMPили синоним, такой какNOW().Колонки
TIMESTAMP, не явно объявленные с атрибутомNOT NULL, автоматически объявляются с атрибутомNULLи допускают значенияNULL. Присвоение такой колонке значенияNULLустанавливает её наNULL, а не на текущую метку времени.Колонки
TIMESTAMP, объявленные с атрибутомNOT NULL, не допускают значенийNULL. Для вставок, в которых для такой колонки указано значениеNULL, результатом является либо ошибка для вставки одной строки, если включён строгий режим SQL, либо'0000-00-00 00:00:00'вставляется для вставок нескольких строк со строгим режимом SQL выключенным. Ни в одном случае присвоение колонке значенияNULLне устанавливает её на текущую метку времени.Колонки
TIMESTAMP, явно объявленные с атрибутомNOT NULLи без явного атрибутаDEFAULT, обрабатываются как не имеющие значения по умолчанию. Для строк вставки, не содержащих явного значения для такой колонки, результат зависит от режима SQL. Если строгий режим SQL включён, возникает ошибка. Если строгий режим SQL выключен, колонка объявляется с неявным значением по умолчанию'0000-00-00 00:00:00'и появляется предупреждение. Это аналогично тому, как MySQL обрабатывает другие временные типы, такие какDATETIME.Ни одна колонка
TIMESTAMPне объявляется автоматически с атрибутамиDEFAULT CURRENT_TIMESTAMPилиON UPDATE CURRENT_TIMESTAMP. Эти атрибуты должны быть указаны явно.Первая колонка
TIMESTAMPв таблице обрабатывается не по-другому, чем колонкиTIMESTAMP, следующие за первой.
Если
explicit_defaults_for_timestampотключена при запуске сервера, в журнале ошибок появляется это предупреждение:[Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
Как указано в предупреждении, для отключения устаревших нестандартных действий, включите переменную системы
explicit_defaults_for_timestampпри запуске сервера.Примечаниеexplicit_defaults_for_timestampсама по себе устарела, потому что её единственная цель — позволить управлять устаревшими действиямиTIMESTAMP, которые должны быть удалены в будущих выпусках MySQL. При удалении этих действий ожидается, чтоexplicit_defaults_for_timestampбудет удалена также.Для дополнительной информации, см. Раздел 13.2.5, «Автоматическая инициализация и обновление для TIMESTAMP и DATETIME».
-
Переменная системы external_userОбласть действия Сеанс Динамическая Нет SET_VARПрименяется подсказкаНет Тип Строка Имя внешнего пользователя, используемое во время процесса аутентификации, установленное используемым для аутентификации клиента плагином. При использовании родной (встроенной) аутентификации MySQL или если значение не задано плагином, эта переменная имеет значение
NULL. См. Раздел 8.2.19, «Прокси-пользователи».
-
Формат командной строки --flush[={OFF|ON}]Системная переменная flushОбласть видимости Глобальная Динамическая Да SET_VARПодсказка применяетсяНет Тип Boolean Значение по умолчанию OFFЕсли
ON, сервер очищает (синхронизирует) все изменения на диске после каждого оператора SQL. Обычно MySQL выполняет запись всех изменений на диск только после каждого оператора SQL и позволяет операционной системе обрабатывать синхронизацию с диском. См. Раздел B.3.3.3, «Что делать, если MySQL постоянно падает». Эта переменная устанавливается вON, если вы запускаете mysqld с помощью опции--flush.ПримечаниеЕсли
flushвключен, значениеflush_timeне имеет значения, и измененияflush_timeне влияют на поведение очистки. -
Формат командной строки --flush-time=#Системная переменная flush_timeОбласть видимости Глобальная Динамическая Да SET_VARПодсказка применяетсяНет Тип Integer Значение по умолчанию 0Минимальное значение 0Максимальное значение 31536000Единица измерения секунды Если это значение установлено в ненулевое значение, все таблицы закрываются каждые
flush_timeсекунд для освобождения ресурсов и синхронизации неочищенных данных на диске. Этот параметр лучше всего использовать только на системах с минимальными ресурсами.ПримечаниеЕсли
flushвключен, значениеflush_timeне имеет значения, и измененияflush_timeне влияют на поведение очистки. -
Системная переменная foreign_key_checksОбласть видимости Глобальная, сеанса Динамическая Да SET_VARПодсказка применяетсяДа Тип Boolean Значение по умолчанию ONЕсли установлено значение 1 (по умолчанию), ограничения внешнего ключа проверяются. Если установлено значение 0, ограничения внешнего ключа игнорируются, за исключением нескольких случаев. При повторном создании таблицы, которая была удалена, возвращается ошибка, если определение таблицы не соответствует ограничениям внешнего ключа, ссылающимся на таблицу. Аналогично, операция
ALTER TABLEвозвращает ошибку, если определение внешнего ключа неправильно сформировано. Для получения дополнительной информации см. Раздел 15.1.20.5, «Ограничения FOREIGN KEY».Установка этой переменной оказывает такое же влияние на таблицы
NDB, как и на таблицыInnoDB. Обычно вы оставляете этот параметр включенным во время нормальной работы, чтобы обеспечить принудительное выполнение. Отключение проверки внешних ключей может быть полезно для повторной загрузки таблицInnoDBв порядке, отличном от требуемого их родительскими/дочерними отношениями. См. Раздел 15.1.20.5, «Ограничения FOREIGN KEY».Установка
foreign_key_checksв 0 также влияет на операторы определения данных:DROP SCHEMAудаляет схему, даже если она содержит таблицы, имеющие внешние ключи, на которые ссылаются таблицы за пределами схемы, иDROP TABLEудаляет таблицы, имеющие внешние ключи, на которые ссылаются другие таблицы.ПримечаниеУстановка
foreign_key_checksв 1 не приводит к сканированию существующих данных таблицы. Поэтому строки, добавленные в таблицу, покаforeign_key_checks = 0не включены, не проверяются на согласованность.Удаление индекса, требуемого ограничением внешнего ключа, не допускается, даже с
foreign_key_checks=0. Ограничение внешнего ключа должно быть удалено перед удалением индекса. -
Формат командной строки --ft-boolean-syntax=nameСистемная переменная ft_boolean_syntaxОбласть видимости Глобальная Динамическая Да SET_VARПодсказка применяетсяНет Тип String Значение по умолчанию + -><()~*:""&|Список операторов, поддерживаемых булевыми полнотекстовыми поисками, выполняемыми с использованием
IN BOOLEAN MODE. См. Раздел 14.9.2, «Булевы полнотекстовые поиски».Значение переменной по умолчанию —
'+ -><()~*:""&|'. Правила изменения значения следующие:Функция оператора определяется положением в строке.
Замещающее значение должно состоять из 14 символов.
Каждый символ должен быть неалфавитно-цифровым ASCII-символом.
Первым или вторым символом должен быть пробел.
Дубликаты не допускаются, за исключением операторов кавычек фразы в позициях 11 и 12. Эти два символа не обязаны быть одинаковыми, но это единственные два символа, которые могут быть одинаковыми.
Позиции 10, 13 и 14 (которые по умолчанию установлены в
:,&и|) зарезервированы для будущих расширений.
-
Формат командной строки --ft-max-word-len=#Системная переменная ft_max_word_lenОбласть видимости Глобальная Динамическая Нет SET_VARПодсказка применяетсяНет Тип Integer Значение по умолчанию 84Минимальное значение 10Максимальное значение 84Максимальная длина слова, которое должно быть включено в индекс
MyISAMFULLTEXT.ПримечаниеИндексы
FULLTEXTдля таблицMyISAMдолжны быть перестроены после изменения этой переменной. ИспользуйтеREPAIR TABLE.tbl_nameQUICK
-
Формат командной строки --ft-min-word-len=#Системная переменная ft_min_word_lenОбласть видимости Глобальная Динамическая Нет SET_VARПодсказка применяетсяНет Тип Целое число Значение по умолчанию 4Минимальное значение 1Максимальное значение 82Минимальная длина слова, которое должно быть включено в индекс
MyISAMFULLTEXT.ПримечаниеИндексы
FULLTEXTна таблицахMyISAMдолжны быть перестроены после изменения этой переменной. ИспользуйтеREPAIR TABLE.tbl_nameQUICK -
Формат командной строки --ft-query-expansion-limit=#Системная переменная ft_query_expansion_limitОбласть видимости Глобальная Динамическая Нет SET_VARПодсказка применяетсяНет Тип Целое число Значение по умолчанию 20Минимальное значение 0Максимальное значение 1000Количество лучших совпадений для использования при поиске полного текста, выполняемого с использованием
WITH QUERY EXPANSION. -
Формат командной строки --ft-stopword-file=file_nameСистемная переменная ft_stopword_fileОбласть видимости Глобальная Динамическая Нет SET_VARПодсказка применяетсяНет Тип Имя файла Файл, из которого следует читать список стоп-слов для поиска полного текста в таблицах
MyISAM. Сервер ищет файл в каталоге данных, если не указано абсолютное имя пути для указания другого каталога. Используются все слова из файла; комментарии не учитываются. По умолчанию используется встроенный список стоп-слов (как определено в файлеstorage/myisam/ft_static.c). Установка этой переменной в пустую строку ('') отключает фильтрацию стоп-слов. См. также Раздел 14.9.4, «Стоп-слова полного текста».ПримечаниеИндексы
FULLTEXTна таблицахMyISAMдолжны быть перестроены после изменения этой переменной или содержимого файла стоп-слов. ИспользуйтеREPAIR TABLE.tbl_nameQUICK -
Формат командной строки --general-log[={OFF|ON}]Системная переменная general_logОбласть видимости Глобальная Динамическая Да SET_VARПодсказка применяетсяНет Тип Булево Значение по умолчанию OFFВключен ли общий лог запросов. Значение может быть 0 (или
OFF) для отключения журнала или 1 (илиON) для включения журнала. Назначение для вывода журнала контролируется системной переменнойlog_output; если это значение равноNONE, записи журнала не записываются, даже если журнал включен. -
Формат командной строки --general-log-file=file_nameСистемная переменная general_log_fileОбласть видимости Глобальная Динамическая Да SET_VARПодсказка применяетсяНет Тип Имя файла Значение по умолчанию host_name.logИмя файла общего журнала запросов. Значение по умолчанию —
, но начальное значение может быть изменено с помощью параметраhost_name.log--general_log_file. -
generated_random_password_lengthФормат командной строки --generated-random-password-length=#Системная переменная generated_random_password_lengthОбласть видимости Глобальная, Сессия Динамическая Да SET_VARПодсказка применяетсяНет Тип Целое число Значение по умолчанию 20Минимальное значение 5Максимальное значение 255Максимальное количество символов, допустимых в случайных паролях, сгенерированных для операторов
CREATE USER,ALTER USERиSET PASSWORD. Для получения дополнительной информации см. Генерация случайных паролей. -
global_connection_memory_limitФормат командной строки --global-connection-memory-limit=#Системная переменная global_connection_memory_limitОбласть видимости Глобальная Динамическая Да SET_VARПодсказка применяетсяНет Тип Целое число Значение по умолчанию 18446744073709551615Минимальное значение 16777216Максимальное значение 18446744073709551615Единица измерения байты Установите общее количество памяти, которое может использоваться всеми пользовательскими подключениями; то есть
Global_connection_memoryне должно превышать это значение. Всякий раз, когда это происходит, все запросы (включая любые запущенные) от обычных пользователей отклоняются с .Память, используемая системными пользователями, такими как пользователь root MySQL, включается в этот общий объем, но не учитывается при ограничении отключения; такие пользователи никогда не отключаются из-за использования памяти.
Память, используемая пулом буферов
InnoDB, исключается из общего объема.Для установки этой переменной необходимо иметь привилегию
SYSTEM_VARIABLES_ADMINилиSUPER. -
global_connection_memory_trackingФормат командной строки --global-connection-memory-tracking={TRUE|FALSE}Системная переменная global_connection_memory_trackingОбласть видимости Глобальная, Сессия Динамическая Да SET_VARПодсказка применяетсяНет Тип Булево Значение по умолчанию FALSEОпределяет, вычисляет ли сервер
Global_connection_memory. Эту переменную необходимо включить явно; в противном случае расчет памяти не выполняется, иGlobal_connection_memoryне устанавливается.Для установки этой переменной необходимо иметь привилегию
SYSTEM_VARIABLES_ADMINилиSUPER.
-
Формат командной строки --group-concat-max-len=#Системная переменная group_concat_max_lenОбласть действия Глобальная, сеанс Динамическая Да SET_VARПрименяется подсказкаДа Тип Целое число Значение по умолчанию 1024Минимальное значение 4Максимальное значение (64-битные платформы) 18446744073709551615Максимальное значение (32-битные платформы) 4294967295Максимальная длина результата в байтах для функции
GROUP_CONCAT(). Значение по умолчанию — 1024. -
YES, если для сервера доступна библиотека сжатияzlib,NO, если нет. Если нет, функцииCOMPRESS()иUNCOMPRESS()недоступны. -
YES, если mysqld поддерживает динамическую загрузку плагинов,NO, если нет. Если значение равноNO, вы не можете использовать такие опции, как--plugin-loadдля загрузки плагинов при запуске сервера, или операторINSTALL PLUGINдля загрузки плагинов во время выполнения. -
YES, если сервер поддерживает пространственные типы данных,NO, если нет. -
YES, если есть возможность профилирования операторов,NO, если нет. Если есть, системная переменнаяprofilingуправляет включением или выключением этой возможности. См. Раздел 15.7.7.33, «Оператор SHOW PROFILES».Эта переменная устарела; ожидается её удаление в будущих версиях MySQL.
-
have_query_cacheустарела, всегда имеет значениеNOи ожидается её удаление в будущих версиях MySQL. -
YES, если индексыRTREEдоступны,NO, если нет. (Они используются для пространственных индексов в таблицахMyISAM). -
Системная переменная have_statement_timeoutОбласть действия Глобальная Динамическая Нет SET_VARПрименяется подсказкаНет Тип Булево Доступна ли функция таймаута выполнения оператора (см. Подсказки оптимизатора для времени выполнения операторов). Значение может быть
NO, если фоновый поток, используемый этой функцией, не удалось инициализировать. -
YES, если поддержка символических ссылок включена,NO, если нет. Это необходимо на Unix для поддержки параметров таблицDATA DIRECTORYиINDEX DIRECTORY. Если сервер запущен с опцией--skip-symbolic-links, значение равноDISABLED.Эта переменная не имеет смысла на Windows.
ПримечаниеПоддержка символических ссылок, а также опция
--symbolic-links, контролирующая её, устарела; ожидается их удаление в будущей версии MySQL. Кроме того, эта опция отключена по умолчанию. Соответствующая системная переменнаяhave_symlinkтакже устарела и ожидается её удаление в будущих версиях MySQL. -
histogram_generation_max_mem_sizeФормат командной строки --histogram-generation-max-mem-size=#Системная переменная histogram_generation_max_mem_sizeОбласть действия Глобальная, сеанс Динамическая Да SET_VARПрименяется подсказкаНет Тип Целое число Значение по умолчанию 20000000Минимальное значение 1000000Максимальное значение (64-битные платформы) 18446744073709551615Максимальное значение (32-битные платформы) 4294967295Единица измерения байт Максимальный объем памяти, доступный для генерации статистических данных гистограмм. См. Раздел 10.9.6, «Статистика оптимизатора» и Раздел 15.7.3.1, «Оператор ANALYZE TABLE».
Установка значения сеанса этой системной переменной — ограниченная операция. Пользователь сеанса должен иметь достаточные привилегии для установки ограниченных переменных сеанса. См. Раздел 7.1.9.1, «Привилегии на системные переменные».
-
Формат командной строки --host-cache-size=#Системная переменная host_cache_sizeОбласть действия Глобальная Динамическая Да SET_VARПрименяется подсказкаНет Тип Целое число Значение по умолчанию -1(указывает на автоматическое масштабирование; не присваивайте это значение)Минимальное значение 0Максимальное значение 65536Сервер MySQL поддерживает кэш хостов в памяти, содержащий информацию о имени и IP-адресе клиента, и используется для избежания обращений к DNS (Domain Name System); см. Раздел 7.1.12.3, «DNS-запросы и кэш хостов».
Переменная
host_cache_sizeуправляет размером кэша хостов, а также размером таблицы Performance Schemahost_cache, которая показывает содержимое кэша. Установка значенияhost_cache_sizeимеет следующие эффекты:Установка размера в 0 отключает кэш хостов. При отключённом кэше сервер выполняет запрос DNS каждый раз при подключении клиента.
Изменение размера во время работы вызывает неявную операцию сброса кэша хостов, очищает кэш хостов, обнуляет таблицу
host_cacheи разблокирует заблокированные хосты.
Значение по умолчанию — автоматически подстраиваемое до 128, плюс 1 для значения
max_connectionsдо 500, плюс 1 для каждого приращения 20 над 500 в значенииmax_connections, ограниченное значением 2000.
-
Переменная системы hostnameОбласть Глобальная Динамическая Нет SET_VARПрименяется подсказкаНет Тип Строка Сервер устанавливает эту переменную в имя хоста сервера при запуске. Максимальная длина — 255 символов.
-
Эта переменная является синонимом переменной
last_insert_id. Она существует для совместимости с другими системами баз данных. Вы можете прочитать ее значение с помощьюSELECT @@identity, и установить с помощьюSET identity. -
Формат командной строки --init-connect=nameПеременная системы init_connectОбласть Глобальная Динамическая Да SET_VARПрименяется подсказкаНет Тип Строка Строка, которая выполняется сервером для каждого подключающегося клиента. Строка состоит из одной или нескольких SQL-команд, разделенных точкой с запятой.
Для пользователей с привилегией
CONNECTION_ADMIN(или устаревшей привилегиейSUPER) содержимоеinit_connectне выполняется. Это делается для того, чтобы неправильное значение дляinit_connectне препятствовало подключению всех клиентов. Например, значение может содержать инструкцию, имеющую синтаксическую ошибку, что приведет к отказу в подключении к клиенту. Отсутствие выполненияinit_connectдля пользователей с привилегиейCONNECTION_ADMINилиSUPERпозволяет им открыть подключение и исправить значениеinit_connect.Выполнение
init_connectпропускается для любого клиента-пользователя с истекшим паролем. Это делается, потому что такой пользователь не может выполнить произвольные инструкции, и поэтому выполнениеinit_connectтерпит неудачу, не позволяя клиенту подключиться. Пропуск выполненияinit_connectпозволяет пользователю подключиться и сменить пароль.Сервер отбрасывает все наборы результатов, полученные инструкциями в значении
init_connect. -
information_schema_stats_expiryФормат командной строки --information-schema-stats-expiry=#Переменная системы information_schema_stats_expiryОбласть Глобальная, сеанс Динамическая Да SET_VARПрименяется подсказкаНет Тип Целое число Значение по умолчанию 86400Минимальное значение 0Максимальное значение 31536000Единица измерения секунды Некоторые таблицы
INFORMATION_SCHEMAсодержат столбцы, которые предоставляют статистику по таблицам:STATISTICS.CARDINALITY TABLES.AUTO_INCREMENT TABLES.AVG_ROW_LENGTH TABLES.CHECKSUM TABLES.CHECK_TIME TABLES.CREATE_TIME TABLES.DATA_FREE TABLES.DATA_LENGTH TABLES.INDEX_LENGTH TABLES.MAX_DATA_LENGTH TABLES.TABLE_ROWS TABLES.UPDATE_TIME
Эти столбцы представляют собой динамические метаданные таблицы; то есть информацию, которая изменяется по мере изменения содержимого таблицы.
По умолчанию MySQL получает кешированные значения для этих столбцов из словарей
mysql.index_statsиmysql.table_statsпри запросе столбцов, что более эффективно, чем непосредственное извлечение статистики из движка хранения. Если кешированные статистические данные недоступны или истекли, MySQL извлекает самые свежие статистические данные из движка хранения и кеширует их в словаряхmysql.index_statsиmysql.table_stats. Последующие запросы получают кешированные статистические данные до тех пор, пока они не истекут. Перезагрузка сервера или первое открытие таблицmysql.index_statsиmysql.table_statsне обновляют кешированные статистические данные автоматически.Переменная сеанса
information_schema_stats_expiryопределяет период времени, в течение которого кешированные статистические данные истекают. По умолчанию 86400 секунд (24 часа), но этот период может быть продлен до одного года.Для обновления кешированных значений для заданной таблицы в любое время используйте
ANALYZE TABLE.Чтобы всегда извлекать самые свежие статистические данные непосредственно из движка хранения и обойти кешированные значения, установите
information_schema_stats_expiryв0.Запрос столбцов статистики не сохраняет и не обновляет статистику в словарях
mysql.index_statsиmysql.table_statsв следующих случаях:Когда кешированные статистические данные не истекли.
Когда
information_schema_stats_expiryустановлено в 0.Когда сервер находится в режиме
read_only,super_read_only,transaction_read_onlyилиinnodb_read_only.Когда запрос также извлекает данные Performance Schema.
Кэш статистики может быть обновлён во время многострочной транзакции до того, как будет известно, будет ли транзакция завершена. В результате кэш может содержать информацию, которая не соответствует известному завершённому состоянию. Это может произойти с
autocommit=0или послеSTART TRANSACTION.information_schema_stats_expiry— переменная сеанса, и каждый сеанс клиента может определить свое значение истечения. Статистика, полученная из движка хранения и кэшированная одним сеансом, доступна другим сеансам.Для получения дополнительной информации см. Раздел 10.2.3, «Оптимизация запросов INFORMATION_SCHEMA».
-
Формат командной строки --init-file=file_nameСистемная переменная init_fileОбласть действия Глобальная Динамическая Нет SET_VARПрименяется подсказкаНет Тип Имя файла При указании этой переменной задаётся имя файла, содержащего SQL-команды, которые будут считываться и выполняться во время начального процесса. Допустимый формат команд в этом файле поддерживает следующие конструкции:
delimiter ;, для установки разделителя команд на символ;.delimiter $$, для установки разделителя команд на последовательность символов$$.Несколько команд на одной строке, разделённых текущим разделителем.
Команды, занимающие несколько строк.
Комментарии от символа
#до конца строки.Комментарии от последовательности
--до конца строки.Комментарии в стиле C от последовательности
/*до следующей последовательности*/, включая несколько строк.Строковые литералы, занимающие несколько строк, заключённые в одинарные кавычки (
') или двойные кавычки (").
Если сервер запускается с опцией
--initializeили--initialize-insecure, он работает в режиме загрузки, и некоторые функции недоступны, что ограничивает разрешённые команды в файле. Это включает команды, связанные с управлением учётными записями (например,CREATE USERилиGRANT), репликацией и глобальными идентификаторами транзакций. См. Раздел 19.1.3, «Репликация с глобальными идентификаторами транзакций».Потоки, созданные во время запуска сервера, используются для задач, таких как создание словаря данных, выполнение процедур обновления и создание системных таблиц. Для обеспечения стабильной и предсказуемой среды эти потоки выполняются с встроенными значениями по умолчанию сервера для некоторых системных переменных, таких как
sql_mode,character_set_server,collation_server,completion_type,explicit_defaults_for_timestampиdefault_table_encryption.Эти потоки также используются для выполнения команд из любого файла, указанного с помощью
init_fileпри запуске сервера, поэтому такие команды выполняются с встроенными значениями по умолчанию сервера для этих системных переменных. -
innodb_xxxСистемные переменные
InnoDBперечислены в Разделе 17.14, «Параметры запуска InnoDB и системные переменные». Эти переменные управляют многими аспектами хранения, использованием памяти и паттернами ввода-вывода для таблицInnoDB, и они особенно важны сейчас, когдаInnoDBявляется движком хранения по умолчанию. -
Значение, которое будет использоваться следующей командой
INSERTилиALTER TABLEпри вставке значенияAUTO_INCREMENT. Это в основном используется с бинарным журналом. -
Формат командной строки --interactive-timeout=#Системная переменная interactive_timeoutОбласть действия Глобальная, Сеансовая Динамическая Да SET_VARПрименяется подсказкаНет Тип Целое число Значение по умолчанию 28800Минимальное значение 1Максимальное значение 31536000Единица измерения секунды Количество секунд, которое сервер ожидает активности по интерактивному соединению перед его закрытием. Интерактивный клиент определяется как клиент, использующий опцию
CLIENT_INTERACTIVE. См. такжеwait_timeout. -
internal_tmp_mem_storage_engineФормат командной строки --internal-tmp-mem-storage-engine=#Системная переменная internal_tmp_mem_storage_engineОбласть действия Глобальная, Сеансовая Динамическая Да SET_VARПрименяется подсказкаДа Тип Перечисление Значение по умолчанию TempTableДопустимые значения MEMORYTempTableДвигатель хранения для временных внутренних таблиц в памяти (см. Раздел 10.4.4, «Использование внутренних временных таблиц в MySQL»). Разрешённые значения —
TempTable(значение по умолчанию) иMEMORY.Использует двигатель хранения, определённый
internal_tmp_mem_storage_engine, для внутренних временных таблиц в памяти.Настройка сеансовой настройки
internal_tmp_mem_storage_engineтребует привилегииSESSION_VARIABLES_ADMINилиSYSTEM_VARIABLES_ADMIN.
-
Формат командной строки --join-buffer-size=#Системная переменная join_buffer_sizeОбласть действия Глобальная, Сессия Динамическая Да Применяется подсказка SET_VARДа Тип Целое число Значение по умолчанию 262144Минимальное значение 128Максимальное значение (Windows) 4294967168Максимальное значение (Другие, 64-битные платформы) 18446744073709551488Максимальное значение (Другие, 32-битные платформы) 4294967168Единица измерения байты Размер блока 128Минимальный размер буфера, используемого для простых сканирований индексов, сканирований индексов диапазонов и объединений, не использующих индексы, и, следовательно, выполняющих полное сканирование таблицы. Эта переменная также управляет объемом памяти, используемой для объединений хэш-типа. Обычно лучший способ получить быстрые объединения — добавить индексы. Увеличьте значение
join_buffer_size, чтобы получить более быстрое полное объединение, когда добавление индексов невозможно. Для каждого полного объединения между двумя таблицами выделяется один буфер объединения. Для сложного объединения между несколькими таблицами, для которого не используются индексы, может потребоваться несколько буферов объединения.Значение по умолчанию — 256 КБ. Максимально допустимое значение для
join_buffer_sizeсоставляет 4 ГБ−1. Более крупные значения разрешены для 64-битных платформ (за исключением 64-битной Windows, для которой большие значения усекаются до 4 ГБ−1 с предупреждением). Размер блока составляет 128, и значение, которое не является точным кратным размеру блока, округляется вниз до ближайшего меньшего кратного размера блока сервером MySQL перед сохранением значения системной переменной. Парсер допускает значения до максимального беззнакового целого значения для платформы (4294967295 или 232−1 для 32-битной системы, 18446744073709551615 или 264−1 для 64-битной системы), но фактическая максимальное значение меньше, на размер блока.Если не используется алгоритм Block Nested-Loop или Batched Key Access, нет выгоды от увеличения размера буфера сверх необходимого для хранения каждой соответствующей строки, и все объединения выделяют, по крайней мере, минимальный размер, поэтому будьте осторожны при установке этой переменной в большое значение глобально. Лучше поддерживать глобальное значение небольшим и изменять значение сессии на большее значение только в сессиях, выполняющих большие объединения, или изменять значение для каждого запроса, используя подсказку оптимизатора
SET_VAR(см. Раздел 10.9.3, «Подсказки оптимизатора»). Время выделения памяти может привести к существенному снижению производительности, если глобальный размер больше, чем требуется большинству запросов, которые его используют.При использовании Block Nested-Loop, увеличение буфера объединения может быть полезным до тех пор, пока все необходимые столбцы из всех строк в первой таблице не будут помещены в буфер объединения. Это зависит от запроса; оптимальный размер может быть меньше, чем хранение всех строк из первой таблицы.
При использовании Batched Key Access, значение
join_buffer_sizeопределяет, насколько большим является пакет ключей в каждом запросе к хранилищу. Чем больше буфер, тем больше последовательный доступ производится к правой таблице операции объединения, что может значительно улучшить производительность.Дополнительную информацию об объединении буферов см. в Разделе 10.2.1.7, «Алгоритмы объединения Nested-Loop». Информацию об обработке пакетов ключей см. в Разделе 10.2.1.12, «Объединения Block Nested-Loop и Batched Key Access». Информацию об объединениях хэш-типа см. в Разделе 10.2.1.4, «Оптимизация объединения хэш-типа».
-
Формат командной строки --keep-files-on-create[={OFF|ON}]Системная переменная keep_files_on_createОбласть действия Глобальная, Сессия Динамическая Да Применяется подсказка SET_VARНет Тип Булево Значение по умолчанию OFFЕсли таблица
MyISAMсоздается без опцииDATA DIRECTORY, файл.MYDсоздается в каталоге базы данных. По умолчанию, еслиMyISAMнаходит существующий файл.MYDв этом случае, он перезаписывает его. То же самое относится к файлам.MYIдля таблиц, созданных без опцииINDEX DIRECTORY. Чтобы подавить это поведение, установите переменнуюkeep_files_on_createв значениеON(1), в этом случаеMyISAMне перезаписывает существующие файлы и вместо этого возвращает ошибку. Значение по умолчанию —OFF(0).Если таблица
MyISAMсоздается с опциейDATA DIRECTORYилиINDEX DIRECTORYи найден существующий файл.MYDили.MYI, MyISAM всегда возвращает ошибку. Он не перезаписывает файл в указанном каталоге.
-
Формат командной строки --key-buffer-size=#Системная переменная key_buffer_sizeОбласть действия Глобальная Динамическая Да SET_VARПрименяется ли подсказкаНет Тип Целое число Значение по умолчанию 8388608Минимальное значение 0Максимальное значение (64-битные платформы) OS_PER_PROCESS_LIMITМаксимальное значение (32-битные платформы) 4294967295Единица измерения байты Блоки индексов для таблиц
MyISAMкэшируются и используются всеми потоками.key_buffer_size— это размер буфера, используемого для блоков индексов. Кэш ключей также известен как кэш индексов.Минимальное допустимое значение — 0, но вы не можете установить
key_buffer_sizeв 0 динамически. Значение 0 удаляет кэш ключей, что недопустимо во время выполнения. Установкаkey_buffer_sizeв 0 разрешена только при запуске, в этом случае кэш ключей не инициализируется. Изменение значенияkey_buffer_sizeво время выполнения со значения 0 на допустимое ненулевое значение инициализирует кэш ключей.key_buffer_sizeможет быть увеличено или уменьшено только с шагом или кратным 4096 байтам. Увеличение или уменьшение значения с несоответствующим шагом приводит к предупреждению и обрезанию значения до допустимого значения.Максимальное допустимое значение для
key_buffer_sizeсоставляет 4 ГБ−1 на 32-битных платформах. Более высокие значения допустимы для 64-битных платформ. Эффективный максимальный размер может быть меньше, в зависимости от доступной физической ОЗУ и ограничений на ОЗУ на процесс, накладываемых вашей операционной системой или аппаратной платформой. Это значение указывает на объем запрошенной памяти. Внутренне сервер выделяет как можно больше памяти до этого значения, но фактическое выделение может быть меньше.Вы можете увеличить значение для лучшей обработки индексов при чтении и множественных записях; на системе, основной функцией которой является запуск MySQL с использованием хранилища
MyISAM, 25% от общей памяти машины — приемлемое значение для этой переменной. Однако следует учитывать, что если вы сделаете значение слишком большим (например, более 50% от общей памяти машины), ваша система может начать кэширование и работать очень медленно. Это связано с тем, что MySQL полагается на операционную систему для кэширования файловой системы при чтении данных, поэтому необходимо оставить место для кэша файловой системы. Также следует учесть потребности памяти любых других хранилищ, которые вы можете использовать помимоMyISAM.Для еще большей скорости при одновременной записи многих строк используйте
LOCK TABLES. См. Раздел 10.2.5.1, «Оптимизация операторов INSERT».Вы можете проверить производительность кэша ключей, выдав оператор
SHOW STATUSи изучив переменные состоянияKey_read_requests,Key_reads,Key_write_requestsиKey_writes. (См. Раздел 15.7.7, «Операторы SHOW».) ОтношениеKey_reads/Key_read_requestsобычно должно быть меньше 0,01. ОтношениеKey_writes/Key_write_requestsобычно близко к 1, если вы в основном используете обновления и удаления, но может быть намного меньше, если вы склонны выполнять обновления, влияющие на много строк одновременно, или если вы используете опцию таблицыDELAY_KEY_WRITE.Долю используемой памяти кэша ключей можно определить, используя
key_buffer_sizeв сочетании с переменной состоянияKey_blocks_unusedи размером блока буфера, доступным из системной переменнойkey_cache_block_size:1 - ((Key_blocks_unused * key_cache_block_size) / key_buffer_size)
Это приблизительное значение, поскольку для внутренних административных структур выделяется некоторое пространство в кэше ключей. Факторы, влияющие на объем накладных расходов для этих структур, включают размер блока и размер указателя. По мере увеличения размера блока процент кэша ключей, потраченный на накладные расходы, имеет тенденцию к снижению. Более крупные блоки приводят к меньшему числу операций чтения (потому что больше ключей получается за одно чтение), но, наоборот, увеличивается число чтений ключей, которые не проверяются (если не все ключи в блоке не релевантны запросу).
Возможно создание нескольких
MyISAMкэшей ключей. Ограничение размера в 4 ГБ применяется к каждому кэшу индивидуально, а не в целом. См. Раздел 10.10.2, «Кэш ключей MyISAM». -
Формат командной строки --key-cache-age-threshold=#Системная переменная key_cache_age_thresholdОбласть действия Глобальная Динамическая Да SET_VARПрименяется ли подсказкаНет Тип Целое число Значение по умолчанию 300Минимальное значение 100Максимальное значение (64-битные платформы) 18446744073709551516Максимальное значение (32-битные платформы) 4294967196Размер блока 100Это значение управляет понижением буферов из горячего подсписка кэша ключей в теплый подсписк. Более низкие значения приводят к более быстрому понижению. Минимальное значение — 100. Значение по умолчанию — 300. См. Раздел 10.10.2, «Кэш ключей MyISAM».
-
Формат командной строки --key-cache-block-size=#Системная переменная key_cache_block_sizeОбласть действия Глобальная Динамическая Да SET_VARПрименяется ли подсказкаНет Тип Целое число Значение по умолчанию 1024Минимальное значение 512Максимальное значение 16384Единица измерения байты Размер блока 512Размер блоков в кэше ключей в байтах. Значение по умолчанию — 1024. См. Раздел 10.10.2, «Кэш ключей MyISAM».
-
Формат командной строки --key-cache-division-limit=#Системная переменная key_cache_division_limitОбласть действия Глобальная Динамическая Да SET_VARПрименяется ли подсказкаНет Тип Целое число Значение по умолчанию 100Минимальное значение 1Максимальное значение 100Точка разделения между горячим и теплым подсписками списка буфера кэша ключей. Значение — процент списка буфера, используемого для теплого подсписка. Допустимые значения — от 1 до 100. Значение по умолчанию — 100. См. Раздел 10.10.2, «Кэш ключей MyISAM».
-
Переменная системы large_files_supportОбласть действия Глобальная Динамическая Нет SET_VARПрименяется подсказкаНет Тип Булево Определяет, был ли mysqld скомпилирован с опциями для поддержки больших файлов.
-
Формат командной строки --large-pages[={OFF|ON}]Переменная системы large_pagesОбласть действия Глобальная Динамическая Нет SET_VARПрименяется подсказкаНет Специфичная для платформы Linux Тип Булево Значение по умолчанию OFFОпределяет, включена ли поддержка больших страниц (через опцию
--large-pages). См. Раздел 10.12.3.3, «Включение поддержки больших страниц». -
Переменная системы large_page_sizeОбласть действия Глобальная Динамическая Нет SET_VARПрименяется подсказкаНет Тип Целое Значение по умолчанию 0Минимальное значение 0Максимальное значение 65535Единицы измерения байты При включенной поддержке больших страниц отображается размер страниц памяти. Поддержка больших страниц памяти поддерживается только на Linux; на других платформах значение этой переменной всегда 0. См. Раздел 10.12.3.3, «Включение поддержки больших страниц».
-
Возвращаемое значение из
LAST_INSERT_ID(). Оно хранится в двоичном журнале, когда вы используетеLAST_INSERT_ID()в операторе, обновляющем таблицу. Установка этой переменной не обновляет значение, возвращаемое функцией C API. -
Формат командной строки --lc-messages=nameПеременная системы lc_messagesОбласть действия Глобальная, Сеанс Динамическая Да SET_VARПрименяется подсказкаНет Тип Строка Значение по умолчанию en_USЯзык для сообщений об ошибках. По умолчанию -
en_US. Сервер преобразует аргумент в имя языка и объединяет его со значениемlc_messages_dirдля определения местоположения файла сообщений об ошибках. См. Раздел 12.12, «Установка языка сообщений об ошибках». -
Формат командной строки --lc-messages-dir=dir_nameПеременная системы lc_messages_dirОбласть действия Глобальная Динамическая Нет SET_VARПрименяется подсказкаНет Тип Имя каталога Каталог, где находятся сообщения об ошибках. Сервер использует значение совместно со значением
lc_messagesдля определения местоположения файла сообщений об ошибках. См. Раздел 12.12, «Установка языка сообщений об ошибках». -
Формат командной строки --lc-time-names=valueПеременная системы lc_time_namesОбласть действия Глобальная, Сеанс Динамическая Да SET_VARПрименяется подсказкаНет Тип Строка Эта переменная определяет локаль, которая управляет языком отображения имен и сокращений дней и месяцев. Эта переменная влияет на вывод функций
DATE_FORMAT(),DAYNAME()иMONTHNAME(). Имена локалей — значения в стиле POSIX, такие как'ja_JP'или'pt_BR'. Значение по умолчанию —'en_US', независимо от локальной настройки вашей системы. Дополнительная информация приведена в Разделе 12.16, «Поддержка локалей MySQL Server». -
Переменная системы licenseОбласть действия Глобальная Динамическая Нет SET_VARПрименяется подсказкаНет Тип Строка Значение по умолчанию GPLТип лицензии сервера.
-
Формат командной строки --local-infile[={OFF|ON}]Переменная системы local_infileОбласть действия Глобальная Динамическая Да SET_VARПрименяется подсказкаНет Тип Булево Значение по умолчанию OFFЭта переменная управляет возможностью сервера выполнять
LOCALдля операторовLOAD DATA. В зависимости от значенияlocal_infile, сервер отклоняет или разрешает загрузку локальных данных клиентами, у которых включена опцияLOCALна стороне клиента.Для явного запрета или разрешения сервером операторов
LOAD DATA LOCAL(независимо от конфигурации клиентских программ и библиотек во время сборки или выполнения), запустите mysqld сlocal_infileсоответственно отключенной или включенной.local_infileтакже можно установить во время выполнения. Дополнительная информация приведена в Разделе 8.1.6, «Вопросы безопасности для LOAD DATA LOCAL».
-
Формат командной строки --lock-wait-timeout=#Переменная системы lock_wait_timeoutОбласть действия Глобальная, сессия Динамическая Да SET_VARПрименяется подсказкаДа Тип Целое число Значение по умолчанию 31536000Минимальное значение 1Максимальное значение 31536000Единица измерения секунды Эта переменная задает таймаут в секундах для попыток получения блокировок метаданных. Допустимые значения находятся в диапазоне от 1 до 31536000 (1 год). Значение по умолчанию — 31536000.
Этот таймаут применяется ко всем операторам, использующим блокировки метаданных. Сюда относятся операции DML и DDL над таблицами, представлениями, хранимыми процедурами и хранимыми функциями, а также операторы
LOCK TABLES,FLUSH TABLES WITH READ LOCKиHANDLER.Этот таймаут не применяется к неявным обращениям к системным таблицам в базе данных
mysql, таким как таблицы разрешений, изменённые операторамиGRANTилиREVOKE, или операторами записи в таблицы. Таймаут применяется к системным таблицам, к которым обращаются напрямую, например, с помощьюSELECTилиUPDATE.Значение таймаута применяется отдельно для каждой попытки блокировки метаданных. Для выполнения оператора может потребоваться более одной блокировки, поэтому оператор может блокироваться дольше, чем значение
lock_wait_timeout, прежде чем будет сообщено об ошибке таймаута. При возникновении таймаута блокировки сообщается об этом.lock_wait_timeoutтакже определяет время ожидания операторомLOCK INSTANCE FOR BACKUPблокировки, прежде чем отказаться от ожидания. -
Переменная системы locked_in_memoryОбласть действия Глобальная Динамическая Нет SET_VARПрименяется подсказкаНет Тип Булево Значение по умолчанию OFF -
Формат командной строки --log-error[=file_name]Переменная системы log_errorОбласть действия Глобальная Динамическая Нет SET_VARПрименяется подсказкаНет Тип Имя файла Путь по умолчанию к журналу ошибок. Если целевой объект — консоль, значение равно
stderr. В противном случае, целевой объект — файл, и значениеlog_errorявляется именем файла. См. Раздел 7.4.2, «Журнал ошибок». -
Формат командной строки --log-error-services=valueПеременная системы log_error_servicesОбласть действия Глобальная Динамическая Да SET_VARПрименяется подсказкаНет Тип Строка Значение по умолчанию log_filter_internal; log_sink_internalКомпоненты, включённые в логирование ошибок. Переменная может содержать список из 0, 1 или нескольких элементов. В последнем случае элементы могут быть разделены точкой с запятой или запятой, необязательно с пробелами. Одно и то же значение не может использовать одновременно точку с запятой и запятую в качестве разделителей. Порядок компонентов важен, так как сервер выполняет компоненты в указанном порядке.
Любой загружаемый (не встроенный) компонент, указанный в
log_error_services, подключается неявно, если он не был подключён ранее. Дополнительные сведения см. в Разделе 7.4.2.1, «Настройка журнала ошибок». -
Формат командной строки --log-error-suppression-list=valueПеременная системы log_error_suppression_listОбласть действия Глобальная Динамическая Да SET_VARПрименяется подсказкаНет Тип Строка Значение по умолчанию empty stringПеременная системы
log_error_suppression_listприменяется к событиям, предназначенным для журнала ошибок, и указывает, какие события подавлять, когда они появляются с приоритетомWARNINGилиINFORMATION. Например, если определённый тип предупреждения считается нежелательным “шумом” в журнале ошибок из-за частой повторяемости, но не представляет интереса, его можно подавить. Эта переменная влияет на фильтрацию, выполняемую компонентом фильтрации журнала ошибокlog_filter_internal, который включён по умолчанию (см. Раздел 7.5.3, «Компоненты журнала ошибок»). Еслиlog_filter_internalвыключен,log_error_suppression_listне имеет эффекта.Значение
log_error_suppression_listможет быть пустой строкой для отсутствия подавления, или списком одного или нескольких значений, разделённых запятыми, которые указывают коды ошибок для подавления. Коды ошибок могут быть указаны в символьной или числовой форме. Числовой код может быть указан с префиксомMY-или без него. Ведущие нули в числовой части не учитываются. Примеры допустимых форматов кода:ER_SERVER_SHUTDOWN_COMPLETE MY-000031 000031 MY-31 31
Символьные значения предпочтительнее числовых для удобочитаемости и переносимости. Сведения о допустимых символьных и числовых значениях ошибок см. .
Действие
log_error_suppression_listсочетается с действиемlog_error_verbosity. Дополнительные сведения см. в Разделе 7.4.2.5, «Фильтрация журнала ошибок на основе приоритета (log_filter_internal)».
-
Формат командной строки --log-error-verbosity=#Системная переменная log_error_verbosityОбласть действия Глобальная Динамическая Да SET_VARПрименяется подсказкаНет Тип Целое число Значение по умолчанию 2Минимальное значение 1Максимальное значение 3Системная переменная
log_error_verbosityопределяет подробность обработки событий, предназначенных для журнала ошибок. Эта переменная влияет на фильтрацию, выполняемую компонентом фильтра журнала ошибокlog_filter_internal, который включен по умолчанию (см. Раздел 7.5.3, «Компоненты журнала ошибок»). Еслиlog_filter_internalотключён,log_error_verbosityне оказывает никакого влияния.События, предназначенные для журнала ошибок, имеют приоритет
ERROR,WARNINGилиINFORMATION.log_error_verbosityуправляет подробностью, основываясь на приоритетах сообщений, которые разрешено записывать в журнал, как показано в следующей таблице.Значение log_error_verbosity Разрешенные приоритеты сообщений 1 ERROR2 ERROR,WARNING3 ERROR,WARNING,INFORMATIONТакже существует приоритет
SYSTEM. Системные сообщения о не-ошибочных ситуациях печатаются в журнале ошибок независимо от значенияlog_error_verbosity. Эти сообщения включают сообщения о запуске и завершении работы, а также некоторые существенные изменения настроек.Влияние
log_error_verbosityсочетается с влияниемlog_error_suppression_list. Дополнительную информацию см. в Разделе 7.4.2.5, «Фильтрация журнала ошибок на основе приоритетов (log_filter_internal)». -
Формат командной строки --log-output=nameСистемная переменная log_outputОбласть действия Глобальная Динамическая Да SET_VARПрименяется подсказкаНет Тип Набор Значение по умолчанию FILEДопустимые значения TABLEFILENONEНазначение(я) для вывода общего журнала запросов и журнала медленных запросов. Значение представляет собой список одного или нескольких слов, разделённых запятыми, выбранных из
TABLE,FILEиNONE.TABLEвыбирает протоколирование в таблицыgeneral_logиslow_logв схеме системыmysql.FILEвыбирает протоколирование в файлы журналов.NONEотключает протоколирование. ЕслиNONEприсутствует в значении, оно имеет приоритет перед другими словами.TABLEиFILEмогут быть оба указаны для выбора обеих целей вывода журнала.Эта переменная выбирает назначения вывода журнала, но не включает сам вывод. Для этого включите системные переменные
general_logиslow_query_log. Для протоколированияFILE, переменные системыgeneral_log_fileиslow_query_log_fileопределяют расположения файлов журналов. Дополнительную информацию см. в Разделе 7.4.1, «Выбор мест вывода общего журнала запросов и журнала медленных запросов». -
Формат командной строки --log-queries-not-using-indexes[={OFF|ON}]Системная переменная log_queries_not_using_indexesОбласть действия Глобальная Динамическая Да SET_VARПрименяется подсказкаНет Тип Булево Значение по умолчанию OFFЕсли вы включите эту переменную при включенном журнале медленных запросов, записываются запросы, которые, как ожидается, извлекут все строки. См. Раздел 7.4.5, «Журнал медленных запросов». Это не обязательно означает, что индекс не используется. Например, запрос, использующий полный индексный поиск, использует индекс, но будет записан в журнал, потому что индекс не будет ограничивать количество строк.
-
Формат командной строки --log-raw[={OFF|ON}]Системная переменная log_rawОбласть действия Глобальная Динамическая Да SET_VARПрименяется подсказкаНет Тип Булево Значение по умолчанию OFFСистемная переменная
log_rawизначально устанавливается в значение опции--log-raw. См. описание этой опции для получения дополнительной информации. Системная переменная также может быть установлена во время выполнения для изменения поведения маскирования паролей. -
Формат командной строки --log-slow-admin-statements[={OFF|ON}]Системная переменная log_slow_admin_statementsОбласть действия Глобальная Динамическая Да SET_VARПрименяется подсказкаНет Тип Булево Значение по умолчанию OFFВключить медленные административные операторы в операторы, записанные в журнал медленных запросов. Административные операторы включают
ALTER TABLE,ANALYZE TABLE,CHECK TABLE,CREATE INDEX,DROP INDEX,OPTIMIZE TABLEиREPAIR TABLE. -
Формат командной строки --log-slow-extra[={OFF|ON}]Системная переменная log_slow_extraОбласть действия Глобальная Динамическая Да SET_VARПрименяется подсказкаНет Тип Булево Значение по умолчанию OFFЕсли журнал медленных запросов включён и место назначения вывода включает
FILE, сервер записывает дополнительные поля в строки файла журнала, предоставляющие информацию о медленных операциях. См. Раздел 7.4.5, «Журнал медленных запросов». ВыводTABLEне затрагивается.
-
Формат командной строки --log-timestamps=#Переменная системы log_timestampsОбласть действия Глобальная Динамическая Да SET_VARПодсказка применимаНет Тип Перечисление Значение по умолчанию UTCДопустимые значения UTCSYSTEMЭта переменная управляет часовым поясом временных меток в сообщениях, записываемых в журнал ошибок, а также в сообщениях журнала запросов и журнала медленных запросов, записываемых в файлы. Она не влияет на часовой пояс общих сообщений журнала запросов и журнала медленных запросов, записываемых в таблицы (
mysql.general_log,mysql.slow_log). Строки, извлеченные из этих таблиц, могут быть преобразованы из часового пояса локальной системы в любой желаемый часовой пояс с помощьюCONVERT_TZ()или путем установки сеансовой переменной системыtime_zone.Разрешенные значения
log_timestamps- этоUTC(значение по умолчанию) иSYSTEM(часовой пояс локальной системы).Временные метки записываются в формате ISO 8601 / RFC 3339:
плюс хвостовое значениеYYYY-MM-DDThh:mm:ss.uuuuuuZ, указывающее на время по Гринвичу (UTC), или±hh:mm(смещение от UTC). -
log_throttle_queries_not_using_indexesФормат командной строки --log-throttle-queries-not-using-indexes=#Переменная системы log_throttle_queries_not_using_indexesОбласть действия Глобальная Динамическая Да SET_VARПодсказка применимаНет Тип Целое число Значение по умолчанию 0Минимальное значение 0Максимальное значение 4294967295Если
log_queries_not_using_indexesвключено, переменнаяlog_throttle_queries_not_using_indexesограничивает количество таких запросов в минуту, которые могут быть записаны в журнал медленных запросов. Значение 0 (значение по умолчанию) означает “нет ограничения”. Дополнительную информацию см. в разделе 7.4.5, «Журнал медленных запросов». -
Формат командной строки --long-query-time=#Переменная системы long_query_timeОбласть действия Глобальная, сеанс Динамическая Да SET_VARПодсказка применимаНет Тип Числовой Значение по умолчанию 10Минимальное значение 0Максимальное значение 31536000Единица измерения секунды Если запрос занимает более этого количества секунд, сервер увеличивает значение переменной состояния
Slow_queries. Если журнал медленных запросов включен, запрос регистрируется в файле журнала медленных запросов. Это значение измеряется в реальном времени, а не в процессорном времени, поэтому запрос, который находится ниже порогового значения на слабо загруженной системе, может быть выше порога на сильно загруженной. Минимальное и значение по умолчанию дляlong_query_timeсоставляют 0 и 10 соответственно. Максимальное значение составляет 31536000, что соответствует 365 дням в секундах. Значение может быть указано с точностью до микросекунд. См. раздел 7.4.5, «Журнал медленных запросов».Более низкие значения этой переменной приводят к тому, что больше операторов рассматриваются как длительно выполняющиеся, в результате чего требуется больше места для журнала медленных запросов. При очень малых значениях (менее одной секунды) журнал может быстро разрастись. Увеличение числа операторов, рассматриваемых как длительно выполняющиеся, также может привести к ложным срабатываниям предупреждения “Чрезмерное количество длительно выполняемых процессов” в MySQL Enterprise Monitor, особенно если включена репликация группы. По этим причинам очень малые значения следует использовать только в тестовых средах или, в производственных средах, только в течение короткого периода.
mysqldump выполняет полное сканирование таблицы, что означает, что его запросы часто могут превышать значение
long_query_time, полезное для обычных запросов. Если вы хотите исключить большинство или все запросы, сгенерированные mysqldump, из журнала медленных запросов, вы можете использовать--mysqld-long-query-time, чтобы изменить сеансовое значение переменной системы на большее значение. -
Формат командной строки --low-priority-updates[={OFF|ON}]Переменная системы low_priority_updatesОбласть действия Глобальная, сеанс Динамическая Да SET_VARПодсказка применимаНет Тип Булево Значение по умолчанию OFFЕсли установлено значение
1, все операторыINSERT,UPDATE,DELETEиLOCK TABLE WRITEожидают, пока не появятся ожидающие операторыSELECTилиLOCK TABLE READдля затронутой таблицы. Того же эффекта можно добиться, используя{INSERT | REPLACE | DELETE | UPDATE} LOW_PRIORITY ...для понижения приоритета только одного запроса. Эта переменная влияет только на движки хранения, использующие только блокировку на уровне таблиц (например,MyISAM,MEMORYиMERGE). См. раздел 10.11.2, «Проблемы блокировки таблиц».Установка сеансового значения этой переменной системы является ограниченной операцией. Пользователь сеанса должен иметь права, достаточные для установки ограниченных сеансовых переменных. См. раздел 7.1.9.1, «Права на переменные системы».
-
Переменная системы lower_case_file_systemОбласть действия Глобальная Динамическая Нет SET_VARПодсказка применимаНет Тип Булево Эта переменная описывает чувствительность к регистру имен файлов в файловой системе, где расположен каталог данных. Значение
OFFозначает, что имена файлов чувствительны к регистру,ONозначает, что они не чувствительны к регистру. Эта переменная является только для чтения, поскольку она отражает атрибут файловой системы, и ее изменение не повлияет на файловую систему.
-
Формат командной строки --lower-case-table-names[=#]Переменная системы lower_case_table_namesОбласть действия Глобальная Динамическая Нет SET_VARПрименяется ли подсказкаНет Тип Целое число Значение по умолчанию (macOS) 2Значение по умолчанию (Unix) 0Значение по умолчанию (Windows) 1Минимальное значение 0Максимальное значение 2Если установлено в 0, имена таблиц хранятся в указанном виде, и сравнения учитывают регистр. Если установлено в 1, имена таблиц хранятся в нижнем регистре на диске, и сравнения не учитывают регистр. Если установлено в 2, имена таблиц хранятся в исходном виде, но сравниваются в нижнем регистре. Этот параметр также применяется к именам баз данных и псевдонимам таблиц. Для дополнительных подробностей см. Раздел 11.2.3, «Чувствительность к регистру идентификаторов».
Значение по умолчанию этой переменной зависит от платформы (см.
lower_case_file_system). В Linux и других системах Unix значение по умолчанию равно0. В Windows значение по умолчанию равно1. В macOS значение по умолчанию равно2. В Linux (и других системах Unix) установка значения в2не поддерживается; сервер принудительно устанавливает значение в0.Не следует устанавливать
lower_case_table_namesв 0, если вы используете MySQL на системе, где каталог данных находится на файловой системе, нечувствительной к регистру (например, в Windows или macOS). Это недопустимая комбинация, которая может привести к зависанию при выполнении операцииINSERT INTO ... SELECT ... FROMс неправильным регистромtbl_nametbl_name. При использованииMyISAMдоступ к именам таблиц с разным регистром может привести к повреждению индексов.При попытке запуска сервера с
--lower_case_table_names=0на файловой системе, нечувствительной к регистру, выводится сообщение об ошибке, и сервер завершает работу.Настройка этой переменной влияет на поведение параметров фильтрации репликации относительно чувствительности к регистру. Для получения дополнительной информации см. Раздел 19.2.5, «Как серверы оценивают правила фильтрации репликации».
Запрещено запускать сервер с настройкой
lower_case_table_names, отличающейся от настройки, используемой при инициализации сервера. Это ограничение необходимо, потому что кодировки, используемые различными полями таблиц словаря данных, определяются настройкой, заданной при инициализации сервера, а перезапуск сервера с другой настройкой приведет к несоответствиям в том, как идентификаторы упорядочиваются и сравниваются.Поэтому необходимо настроить
lower_case_table_namesна нужное значение до инициализации сервера. В большинстве случаев это требует настройкиlower_case_table_namesв файле параметров MySQL перед первым запуском сервера MySQL. Однако при установке из APT на Debian и Ubuntu сервер инициализируется за вас, и нет возможности предварительной настройки параметра в файле параметров. Поэтому необходимо использовать утилитуdebconf-set-selectionперед установкой MySQL с помощью APT, чтобы включитьlower_case_table_names. Для этого выполните следующую команду перед установкой MySQL с помощью APT:$>
sudo debconf-set-selections <<< "mysql-server mysql-server/lowercase-table-names select Enabled" -
Формат командной строки --mandatory-roles=valueПеременная системы mandatory_rolesОбласть действия Глобальная Динамическая Да SET_VARПрименяется ли подсказкаНет Тип Строка Значение по умолчанию empty stringРоли, которые сервер должен рассматривать как обязательные. По сути, эти роли автоматически предоставляются каждому пользователю, хотя установка
mandatory_rolesфактически не изменяет учетные записи пользователей, и предоставленные роли не отображаются в таблице системыmysql.role_edges.Значение переменной — это список имен ролей, разделенных запятыми. Пример:
SET PERSIST mandatory_roles = '`role1`@`%`,`role2`,role3,role4@localhost';
Для установки значения
mandatory_rolesв ходе выполнения требуется привилегияROLE_ADMINпомимо привилегииSYSTEM_VARIABLES_ADMIN(или устаревшей привилегииSUPER), обычно требуемой для установки значения глобальной системной переменной в ходе выполнения.Имена ролей состоят из части пользователя и части хоста в формате
. Часть хоста, если она опущена, по умолчанию равнаuser_name@host_name%. Для дополнительной информации см. Раздел 8.2.5, «Указание имен ролей».Значение
mandatory_roles— это строка, поэтому имена пользователей и хостов, если они заключены в кавычки, должны быть написаны способом, разрешенным для заключения в кавычки внутри строковых литералов.Роли, указанные в значении
mandatory_roles, нельзя отозвать с помощьюREVOKEили удалить с помощьюDROP ROLEилиDROP USER.Чтобы предотвратить автоматическое преобразование сессий в системные сессии по умолчанию, роль, обладающая привилегией
SYSTEM_USER, не может быть указана в значении переменнойmandatory_roles:Если
mandatory_rolesприсваивается роль при запуске, обладающая привилегиейSYSTEM_USER, сервер запишет сообщение в журнал ошибок и завершит работу.Если
mandatory_rolesприсваивается роль при выполнении, обладающая привилегиейSYSTEM_USER, произойдет ошибка, и значениеmandatory_rolesостанется неизменным.
Обязательные роли, как и явно предоставленные роли, не вступают в силу до активации (см. Активация ролей). Во время входа в систему активация ролей происходит для всех предоставленных ролей, если системная переменная
activate_all_roles_on_loginвключена; в противном случае или для ролей, которые в противном случае заданы как роли по умолчанию. При выполненииSET ROLEактивирует роли.Роли, которые не существуют при присвоении к
mandatory_roles, но создаются позже, могут потребовать специального обращения, чтобы считаться обязательными. Подробнее см. Определение обязательных ролей.SHOW GRANTSотображает обязательные роли в соответствии с правилами, описанными в разделе 15.7.7.22, «Оператор SHOW GRANTS».
-
Формат командной строки --max-allowed-packet=#Системная переменная max_allowed_packetОбласть действия Глобальная, Сеансовая Динамическая Да SET_VARПрименяется подсказкаНет Тип Целое число Значение по умолчанию 67108864Минимальное значение 1024Максимальное значение 1073741824Единица измерения байты Размер блока 1024Максимальный размер одного пакета или любой сгенерированной/промежуточной строки, или любого параметра, отправленного функцией C API. По умолчанию 64 МБ.
Буфер сообщения пакета инициализирован значением
net_buffer_lengthбайтов, но может увеличиться доmax_allowed_packetбайтов при необходимости. Это значение по умолчанию небольшое, для обнаружения больших (возможно, неправильных) пакетов.Необходимо увеличить это значение, если используются большие столбцы
BLOBили длинные строки. Оно должно быть таким же большим, как самый большойBLOB, который вы хотите использовать. Предельное значение протокола дляmax_allowed_packetсоставляет 1 ГБ. Значение должно быть кратно 1024; значения, не кратные 1024, округляются вниз до ближайшего кратного.При изменении размера буфера сообщений путём изменения значения переменной
max_allowed_packetтакже необходимо изменить размер буфера на стороне клиента, если это позволяет ваша клиентская программа. Значение по умолчаниюmax_allowed_packet, встроенное в клиентскую библиотеку, составляет 1 ГБ, но отдельные клиентские программы могут его переопределить. Например, mysql и mysqldump имеют значения по умолчанию 16 МБ и 24 МБ соответственно. Они также позволяют изменить значение на стороне клиента, установивmax_allowed_packetв командной строке или в файле параметров.Сеансовое значение этой переменной является только для чтения. Клиент может получить до указанного количества байтов в сеансовом значении. Однако сервер не отправляет клиенту больше байтов, чем текущее глобальное значение
max_allowed_packet. (Глобальное значение может быть меньше сеансового, если глобальное значение изменяется после подключения клиента.) -
Формат командной строки --max-connect-errors=#Системная переменная max_connect_errorsОбласть действия Глобальная Динамическая Да SET_VARПрименяется подсказкаНет Тип Целое число Значение по умолчанию 100Минимальное значение 1Максимальное значение (64-битные платформы) 18446744073709551615Максимальное значение (32-битные платформы) 4294967295После
max_connect_errorsпоследовательных запросов подключения с одного хоста, прерванных без успешного подключения, сервер блокирует этот хост от дальнейших подключений. Если подключение с хоста установлено успешно в течение менееmax_connect_errorsпопыток после предыдущего прерванного подключения, счётчик ошибок для хоста обнуляется. Для разблокировки заблокированных хостов очистите кэш хостов; см. Очистка кэша хостов. -
Формат командной строки --max-connections=#Системная переменная max_connectionsОбласть действия Глобальная Динамическая Да SET_VARПрименяется подсказкаНет Тип Целое число Значение по умолчанию 151Минимальное значение 1Максимальное значение 100000Максимальное разрешённое количество одновременных подключений клиентов. Максимальное эффективное значение — меньшее из эффективного значения
open_files_limit- 810и фактически установленного значения дляmax_connections.Дополнительную информацию см. в Разделе 7.1.12.1, «Интерфейсы подключения».
-
Формат командной строки --max-delayed-threads=#Устаревший Да Системная переменная max_delayed_threadsОбласть действия Глобальная, Сеансовая Динамическая Да SET_VARПрименяется подсказкаНет Тип Целое число Значение по умолчанию 20Минимальное значение 0Максимальное значение 16384Эта системная переменная устарела (поскольку
DELAYEDвставки больше не поддерживаются) и может быть удалена в будущих выпусках MySQL.Установка сеансового значения этой системной переменной является ограниченной операцией. Пользователь сеанса должен иметь достаточные привилегии для установки ограниченных сеансовых переменных. См. Раздел 7.1.9.1, «Привилегии на системные переменные».
-
Формат командной строки --max-digest-length=#Системная переменная max_digest_lengthОбласть видимости Глобальная Динамическая Нет SET_VARПодсказка применяетсяНет Тип Целое число Значение по умолчанию 1024Минимальное значение 0Максимальное значение 1048576Единица измерения байты Максимальное количество байт памяти, резервируемых для каждого сеанса для вычисления нормализованных дайджестов операторов. После использования этого объёма пространства во время вычисления дайджеста происходит усечение: дальнейшие токены из разобранного оператора не собираются и не учитываются в его значении дайджеста. Операторы, которые отличаются только после такого количества байтов разобранных токенов, производят один и тот же нормализованный дайджест оператора и считаются идентичными при сравнении или агрегировании для статистики дайджестов.
Длина, используемая для вычисления нормализованного дайджеста оператора, представляет собой сумму длины нормализованного дайджеста оператора и длины дайджеста оператора. Поскольку длина дайджеста оператора всегда равна 64, это эквивалентно
LENGTH(STATEMENT_DIGEST_TEXT(. Это означает, что, когда значениеstatement) ) + 64max_digest_lengthравно 1024 (по умолчанию), максимальная длина нормализованного оператора SQL до усечения фактически составляет 960 байт.ПредупреждениеУстановка
max_digest_lengthв ноль отключает генерацию дайджестов, что также отключает функциональность сервера, требующую дайджестов, например, MySQL Enterprise Firewall.Уменьшение значения
max_digest_lengthуменьшает использование памяти, но приводит к тому, что значение дайджеста большего количества операторов становится неразличимым, если они отличаются только в конце. Увеличение значения позволяет различать более длинные операторы, но увеличивает использование памяти, особенно для рабочих нагрузок, которые включают большое количество одновременных сеансов (сервер выделяетmax_digest_lengthбайт на сеанс).Парсер использует эту системную переменную в качестве ограничения на максимальную длину нормализованных дайджестов операторов, которые он вычисляет. Схема производительности, если она отслеживает дайджесты операторов, создаёт копию значения дайджеста, используя системную переменную
performance_schema_max_digest_lengthв качестве ограничения на максимальную длину дайджестов, которые она хранит. Следовательно, еслиperformance_schema_max_digest_lengthменьше, чемmax_digest_length, значения дайджестов, хранящиеся в Схеме производительности, усекаются по отношению к исходным значениям дайджестов.Для получения дополнительной информации о дайджестировании операторов см. Раздел 29.10, «Дайджесты операторов и выборка схемы производительности».
-
Формат командной строки --max-error-count=#Системная переменная max_error_countОбласть видимости Глобальная, сеанса Динамическая Да SET_VARПодсказка применяетсяДа Тип Целое число Значение по умолчанию 1024Минимальное значение 0Максимальное значение 65535Максимальное количество сообщений об ошибках, предупреждениях и информации, которые должны храниться для отображения операторами
SHOW ERRORSиSHOW WARNINGS. Это то же самое, что и количество областей условий в области диагностики, и, следовательно, количество условий, которые могут быть проверены с помощьюGET DIAGNOSTICS.Установка значения сеанса этой системной переменной является ограниченной операцией. Пользователь сеанса должен иметь права, достаточные для установки ограниченных переменных сеанса. См. Раздел 7.1.9.1, «Привилегии системных переменных».
-
Формат командной строки --max-execution-time=#Системная переменная max_execution_timeОбласть видимости Глобальная, сеанса Динамическая Да SET_VARПодсказка применяетсяДа Тип Целое число Значение по умолчанию 0Минимальное значение 0Максимальное значение 4294967295Единица измерения миллисекунды Тайм-аут выполнения для операторов
SELECTв миллисекундах. Если значение равно 0, тайм-ауты не включены.max_execution_timeприменяется следующим образом:Глобальное значение
max_execution_timeзадаёт значение по умолчанию для значения сеанса для новых подключений. Значение сеанса применяется кSELECTвыполненным в сеансе, которые не включают подсказку оптимизатораMAX_EXECUTION_TIME(или для которыхN)Nравно 0.max_execution_timeприменяется к операторамSELECTтолько для чтения. Операторы, которые не являются операторами только для чтения, — это те, которые вызывают хранимую функцию, которая изменяет данные в качестве побочного эффекта.max_execution_timeигнорируется для операторовSELECTв хранимых программах.
-
Формат командной строки --max-heap-table-size=#Системная переменная max_heap_table_sizeОбласть видимости Глобальная, сеанса Динамическая Да SET_VARПодсказка применяетсяДа Тип Целое число Значение по умолчанию 16777216Минимальное значение 16384Максимальное значение (64-битные платформы) 18446744073709550592Максимальное значение (32-битные платформы) 4294966272Единица измерения байты Размер блока 1024Эта переменная устанавливает максимальный размер, до которого разрешено увеличивать созданные пользователем таблицы
MEMORY. Значение переменной используется для вычисления значенийMEMORYтаблицыMAX_ROWS.Установка этой переменной не влияет ни на одну существующую таблицу
MEMORY, если только таблица не будет пересоздана с помощью оператора, такого какCREATE TABLE, или изменена с помощьюALTER TABLEилиTRUNCATE TABLE. Перезапуск сервера также устанавливает максимальный размер существующих таблицMEMORYв глобальное значениеmax_heap_table_size.Эта переменная также используется в сочетании с
tmp_table_sizeдля ограничения размера внутренних таблиц в памяти. См. Раздел 10.4.4, «Использование внутренних временных таблиц в MySQL».max_heap_table_sizeне реплицируется. См. Раздел 19.5.1.21, «Репликация и таблицы MEMORY», и Раздел 19.5.1.39, «Репликация и переменные» для получения дополнительной информации.
-
Устарело Да Системная переменная max_insert_delayed_threadsОбласть видимости Глобальная, сеанса Динамическая Да SET_VARПодсказка применяетсяНет Тип Целое число Значение по умолчанию 0Минимальное значение 20Максимальное значение 16384Эта переменная является синонимом для
max_delayed_threads. Как иmax_delayed_threads, она устарела (потому чтоDELAYEDвставки не поддерживаются) и может быть удалена в будущих выпусках MySQL.Установка значения сеанса этой системной переменной является ограниченной операцией. Пользователь сеанса должен иметь права, достаточные для установки ограниченных переменных сеанса. См. Раздел 7.1.9.1, «System Variable Privileges».
-
Формат командной строки --max-join-size=#Системная переменная max_join_sizeОбласть видимости Глобальная, сеанса Динамическая Да SET_VARПодсказка применяетсяДа Тип Целое число Значение по умолчанию 18446744073709551615Минимальное значение 1Максимальное значение 18446744073709551615Это представляет собой ограничение на максимальное количество обращений к строкам в базовых таблицах, выполняемых соединением. Если оценка сервера указывает, что из базовых таблиц необходимо прочитать больше строк, чем
max_join_size, то оператор отклоняется с ошибкой.Установка этой переменной в значение, отличное от
DEFAULT, сбрасывает значениеsql_big_selectsв0. Если вы снова установите значениеsql_big_selects, переменнаяmax_join_sizeигнорируется. -
Формат командной строки --max-length-for-sort-data=#Устарело Да Системная переменная max_length_for_sort_dataОбласть видимости Глобальная, сеанса Динамическая Да SET_VARПодсказка применяетсяДа Тип Целое число Значение по умолчанию 4096Минимальное значение 4Максимальное значение 8388608Единица измерения байты Эта переменная устарела и не оказывает никакого влияния в MySQL 8.4.
-
Формат командной строки --max-points-in-geometry=#Системная переменная max_points_in_geometryОбласть видимости Глобальная, сеанса Динамическая Да SET_VARПодсказка применяетсяДа Тип Целое число Значение по умолчанию 65536Минимальное значение 3Максимальное значение 1048576Максимальное значение аргумента
points_per_circleдля функцииST_Buffer_Strategy(). -
Формат командной строки --max-prepared-stmt-count=#Системная переменная max_prepared_stmt_countОбласть видимости Глобальная Динамическая Да SET_VARПодсказка применяетсяНет Тип Целое число Значение по умолчанию 16382Минимальное значение 0Максимальное значение 4194304Эта переменная ограничивает общее количество подготовленных операторов на сервере. Она может использоваться в средах, где существует потенциальная угроза атак типа «отказ в обслуживании», основанных на исчерпании памяти сервера путем подготовки огромного количества операторов. Если значение установлено ниже текущего количества подготовленных операторов, существующие операторы не затрагиваются и могут использоваться, но новые операторы не могут быть подготовлены, пока текущее количество не упадет ниже предела. Установка значения 0 отключает подготовленные операторы.
-
Формат командной строки --max-seeks-for-key=#Системная переменная max_seeks_for_keyОбласть видимости Глобальная, сеанса Динамическая Да SET_VARПодсказка применяетсяДа Тип Целое число Значение по умолчанию (Windows) 4294967295Значение по умолчанию (Другие, 64-разрядные платформы) 18446744073709551615Значение по умолчанию (Другие, 32-разрядные платформы) 4294967295Минимальное значение 1Максимальное значение (Windows) 4294967295Максимальное значение (Другие, 64-разрядные платформы) 18446744073709551615Максимальное значение (Другие, 32-разрядные платформы) 4294967295Ограничивает предполагаемое максимальное количество поисков при поиске строк на основе ключа. Оптимизатор MySQL предполагает, что при поиске совпадающих строк в таблице путем сканирования индекса требуется не более этого количества поисков по ключу, независимо от фактической кардинальности индекса (см. Раздел 15.7.7.23, «SHOW INDEX Statement»). Установив это значение на низкое значение (например, 100), вы можете заставить MySQL предпочитать индексы вместо сканирования таблиц.
-
Формат командной строки --max-sort-length=#Системная переменная max_sort_lengthОбласть видимости Глобальная, сеанса Динамическая Да SET_VARПодсказка применяетсяДа Тип Целое число Значение по умолчанию 1024Минимальное значение 4Максимальное значение 8388608Единица измерения байты Количество байтов, используемых при сортировке строковых значений, использующих
PAD SPACEсортировки. Сервер использует только первыеmax_sort_lengthбайта любого такого значения и игнорирует остальное. Следовательно, такие значения, которые отличаются только после первыхmax_sort_lengthбайтов, сравниваются как равные дляGROUP BY,ORDER BYиDISTINCTопераций. (Это поведение отличается от предыдущих версий MySQL, где этот параметр применялся ко всем значениям, используемым в сравнениях.)Увеличение значения
max_sort_lengthможет потребовать увеличения значенияsort_buffer_sizeтакже. Подробнее см. Раздел 10.2.1.16, «ORDER BY Optimization»
-
Формат командной строки --max-sp-recursion-depth[=#]Системная переменная max_sp_recursion_depthОбласть видимости Глобальная, сессии Динамическая Да SET_VARПодсказка применяетсяНет Тип Целое число Значение по умолчанию 0Минимальное значение 0Максимальное значение 255Количество раз, которое любая хранимая процедура может быть вызвана рекурсивно. Значение по умолчанию для этого параметра равно 0, что полностью отключает рекурсию в хранимых процедурах. Максимальное значение равно 255.
Рекурсия хранимых процедур увеличивает потребность в пространстве стека потока. Если вы увеличите значение
max_sp_recursion_depth, может потребоваться увеличить размер стека потока, увеличив значениеthread_stackпри запуске сервера. -
Формат командной строки --max-user-connections=#Системная переменная max_user_connectionsОбласть видимости Глобальная, сессии Динамическая Да SET_VARПодсказка применяетсяНет Тип Целое число Значение по умолчанию 0Минимальное значение 0Максимальное значение 4294967295Максимальное количество одновременных подключений, разрешенных для любой учетной записи пользователя MySQL. Значение 0 (по умолчанию) означает “без ограничения.”
Эта переменная имеет глобальное значение, которое можно установить при запуске сервера или во время его работы. Она также имеет значение сессии только для чтения, которое указывает на эффективное ограничение одновременных подключений, применимое к учетной записи, связанной с текущей сессией. Значение сессии инициализируется следующим образом:
Если учетная запись пользователя имеет ненулевое ограничение ресурса
MAX_USER_CONNECTIONS, значение сессииmax_user_connectionsустанавливается в это ограничение.В противном случае значение сессии
max_user_connectionsустанавливается в глобальное значение.
Ограничения ресурсов учетной записи задаются с помощью оператора
CREATE USERилиALTER USER. См. Раздел 8.2.21, «Установка ограничений ресурсов учетной записи». -
Формат командной строки --max-write-lock-count=#Системная переменная max_write_lock_countОбласть видимости Глобальная Динамическая Да SET_VARПодсказка применяетсяНет Тип Целое число Значение по умолчанию (Windows) 4294967295Значение по умолчанию (Другие, 64-разрядные платформы) 18446744073709551615Значение по умолчанию (Другие, 32-разрядные платформы) 4294967295Минимальное значение 1Максимальное значение (Windows) 4294967295Максимальное значение (Другие, 64-разрядные платформы) 18446744073709551615Максимальное значение (Другие, 32-разрядные платформы) 4294967295После такого количества блокировок на запись разрешить обработку некоторых ожидающих запросов на блокировку чтения между ними. Запросы на блокировку записи имеют более высокий приоритет, чем запросы на блокировку чтения. Однако, если
max_write_lock_countустановлено в какое-либо низкое значение (скажем, 10), запросы на блокировку чтения могут быть предпочтительнее ожидающих запросов на блокировку записи, если запросы на блокировку чтения уже были пропущены в пользу 10 запросов на блокировку записи. Обычно такое поведение не происходит, потому чтоmax_write_lock_countпо умолчанию имеет очень большое значение. -
Формат командной строки --mecab-rc-file=file_nameСистемная переменная mecab_rc_fileОбласть видимости Глобальная Динамическая Нет SET_VARПодсказка применяетсяНет Тип Имя файла Параметр
mecab_rc_fileиспользуется при настройке анализатора полного текста MeCab.Параметр
mecab_rc_fileопределяет путь к конфигурационному файлуmecabrc, который является конфигурационным файлом для MeCab. Параметр доступен только для чтения и может быть установлен только при запуске. Конфигурационный файлmecabrcнеобходим для инициализации MeCab.Для получения информации об анализаторе полного текста MeCab см. Раздел 14.9.9, «Плагин анализатора полного текста MeCab».
Для получения информации о параметрах, которые можно указать в конфигурационном файле MeCab
mecabrc, обратитесь к документации MeCab на сайте Google Developers. -
Формат командной строки --min-examined-row-limit=#Системная переменная min_examined_row_limitОбласть видимости Глобальная, сессии Динамическая Да SET_VARПодсказка применяетсяНет Тип Целое число Значение по умолчанию 0Минимальное значение 0Максимальное значение (64-разрядные платформы) 18446744073709551615Максимальное значение (32-разрядные платформы) 4294967295Запросы, которые просматривают меньше этого количества строк, не регистрируются в журнале медленных запросов.
Установка значения сессии этой системной переменной является ограниченной операцией. Пользователь сессии должен иметь права, достаточные для установки ограниченных переменных сессии. См. Раздел 7.1.9.1, «Привилегии системных переменных».
-
Формат командной строки --myisam-data-pointer-size=#Системная переменная myisam_data_pointer_sizeОбласть видимости Глобальная Динамическая Да SET_VARПодсказка применяетсяНет Тип Целое число Значение по умолчанию 6Минимальное значение 2Максимальное значение 7Единица измерения байты Размер указателя по умолчанию в байтах, который будет использоваться
CREATE TABLEдля таблицMyISAM, если не указан параметрMAX_ROWS. Эта переменная не может быть меньше 2 или больше 7. Значение по умолчанию равно 6. См. Раздел B.3.2.10, «Таблица заполнена».
-
Командная строка --myisam-max-sort-file-size=#Системная переменная myisam_max_sort_file_sizeОбласть действия Глобальная Динамическая Да SET_VARПрименяется подсказкаНет Тип Целое число Значение по умолчанию (Windows) 2146435072Значение по умолчанию (другие, 64-битные платформы) 9223372036853727232Значение по умолчанию (другие, 32-битные платформы) 2147483648Минимальное значение 0Максимальное значение (Windows) 2146435072Максимальное значение (другие, 64-битные платформы) 9223372036853727232Максимальное значение (другие, 32-битные платформы) 2147483648Единица измерения байты Максимальный размер временного файла, который MySQL разрешено использовать при пересоздании индекса
MyISAM(во времяREPAIR TABLE,ALTER TABLEилиLOAD DATA). Если размер файла превысит это значение, индекс создается с использованием кэша ключей, что медленнее. Значение задается в байтах.Если файлы индексов
MyISAMпревышают этот размер, и место на диске доступно, увеличение значения может улучшить производительность. Необходимо наличие свободного места на файловой системе, содержащей каталог, где расположен исходный файл индекса. -
Командная строка --myisam-mmap-size=#Системная переменная myisam_mmap_sizeОбласть действия Глобальная Динамическая Нет SET_VARПрименяется подсказкаНет Тип Целое число Значение по умолчанию (64-битные платформы) 18446744073709551615Значение по умолчанию (32-битные платформы) 4294967295Минимальное значение 7Максимальное значение (64-битные платформы) 18446744073709551615Максимальное значение (32-битные платформы) 4294967295Единица измерения байты Максимальный объем памяти для использования при отображении в памяти сжатых файлов
MyISAM. Если используется много сжатых таблицMyISAM, значение можно уменьшить, чтобы снизить вероятность проблем с подкачкой памяти. -
Командная строка --myisam-recover-options[=list]Системная переменная myisam_recover_optionsОбласть действия Глобальная Динамическая Нет SET_VARПрименяется подсказкаНет Тип Перечисление Значение по умолчанию OFFДопустимые значения OFFDEFAULTBACKUPFORCEQUICKУстановите режим восстановления двигателя хранения
MyISAM. Значение переменной — любая комбинация значенийOFF,DEFAULT,BACKUP,FORCEилиQUICK. При указании нескольких значений разделяйте их запятыми. Указание переменной без значения при запуске сервера эквивалентно указаниюDEFAULT, а явное указание значения""отключает восстановление (так же, как и значениеOFF). При включенном восстановлении каждый раз, когда mysqld открывает таблицуMyISAM, он проверяет, помечена ли таблица как аварийно завершённая или не была закрыта должным образом. (Последний вариант работает только в том случае, если вы работаете с отключенным внешним блокированием.) В этом случае mysqld выполняет проверку таблицы. Если таблица повреждена, mysqld пытается ее восстановить.Следующие параметры влияют на работу восстановления.
Параметр Описание OFFБез восстановления. DEFAULTВосстановление без резервного копирования, принудительного режима или быстрой проверки. BACKUPЕсли файл данных был изменён во время восстановления, сохраните резервную копию файла какtbl_name.MYD.tbl_name-datetime.BAKFORCEВыполнять восстановление даже если мы потеряем более одной строки из файла .MYD.QUICKНе проверять строки в таблице, если нет блоков удаления. Перед тем, как сервер автоматически восстановит таблицу, он запишет запись о восстановлении в журнал ошибок. Если вы хотите иметь возможность восстановиться от большинства проблем без вмешательства пользователя, используйте параметры
BACKUP,FORCE. Это принудительно выполняет восстановление таблицы, даже если некоторые строки будут удалены, но сохраняет старый файл данных в качестве резервной копии, чтобы вы могли позже изучить, что произошло. -
Командная строка --myisam-sort-buffer-size=#Системная переменная myisam_sort_buffer_sizeОбласть действия Глобальная, Сеанс Динамическая Да SET_VARПрименяется подсказкаНет Тип Целое число Значение по умолчанию 8388608Минимальное значение 4096Максимальное значение (64-битные платформы) 18446744073709551615Максимальное значение (32-битные платформы) 4294967295Единица измерения байты Размер буфера, выделяемого при сортировке индексов
MyISAMво времяREPAIR TABLEили при создании индексов с помощьюCREATE INDEXилиALTER TABLE. -
Командная строка --myisam-stats-method=nameСистемная переменная myisam_stats_methodОбласть действия Глобальная, Сеанс Динамическая Да SET_VARПрименяется подсказкаНет Тип Перечисление Значение по умолчанию nulls_unequalДопустимые значения nulls_unequalnulls_equalnulls_ignoredКак сервер обрабатывает значения
NULLпри сборе статистики о распределении значений индексов для таблицMyISAM. Эта переменная имеет три возможных значения:nulls_equal,nulls_unequalиnulls_ignored. Дляnulls_equalвсе значения индексаNULLсчитаются равными и образуют одну группу значений, размер которой равен количествуNULLзначений. Дляnulls_unequalзначенияNULLсчитаются неравными, и каждоеNULLобразует отдельную группу значений размером 1. Дляnulls_ignoredзначенияNULLигнорируются.Способ генерации статистики таблиц влияет на то, как оптимизатор выбирает индексы для выполнения запросов, как описано в Разделе 10.3.8, «Сбор статистики по индексам InnoDB и MyISAM».
-
Командная строка --myisam-use-mmap[={OFF|ON}]Системная переменная myisam_use_mmapОбласть Глобальная Динамическая Да SET_VARПрименяется подсказкаНет Тип Булево Значение по умолчанию OFFИспользовать кэширование в памяти для чтения и записи
MyISAMтаблиц. -
mysql_native_password_proxy_usersКомандная строка --mysql-native-password-proxy-users[={OFF|ON}]Устарело Да Системная переменная mysql_native_password_proxy_usersОбласть Глобальная Динамическая Да SET_VARПрименяется подсказкаНет Тип Булево Значение по умолчанию OFFЭта переменная управляет тем, поддерживает ли встроенный модуль аутентификации
mysql_native_password(устарел) прокси-пользователей. Она не действует, если не включена системная переменнаяcheck_proxy_usersи модульmysql_native_password. Подробности о прокси-пользователях см. в разделе 8.2.19, «Прокси-пользователи». -
Командная строка --named-pipe[={OFF|ON}]Системная переменная named_pipeОбласть Глобальная Динамическая Нет SET_VARПрименяется подсказкаНет Специфично для платформы Windows Тип Булево Значение по умолчанию OFF(Только Windows.) Указывает, поддерживает ли сервер подключения через именованные каналы.
-
Командная строка --named-pipe-full-access-group=valueСистемная переменная named_pipe_full_access_groupОбласть Глобальная Динамическая Нет SET_VARПрименяется подсказкаНет Специфично для платформы Windows Тип Строка Значение по умолчанию empty stringДопустимые значения empty stringvalid Windows local group name*everyone*(Только Windows.) Уровень доступа клиентов к именованному каналу, созданному MySQL-сервером, настроен на минимально необходимое для успешной связи, когда системная переменная
named_pipeвключена для поддержки подключений через именованные каналы. Некоторые программы-клиенты MySQL могут открывать подключения через именованные каналы без дополнительной настройки; тем не менее, другие программы-клиенты могут все еще требовать полного доступа для открытия подключения через именованный канал.Эта переменная задает имя локальной группы Windows, члены которой имеют достаточный доступ, предоставленный MySQL-сервером, для использования клиентов именованных каналов. Значение по умолчанию — пустая строка, что означает, что ни один пользователь Windows не имеет полного доступа к именованному каналу.
Можно создать новое имя локальной группы Windows (например,
mysql_access_client_users) и использовать его для замены значения по умолчанию, когда это абсолютно необходимо. В этом случае ограничьте членство в группе минимально необходимым количеством пользователей, удаляя пользователей из группы при обновлении программного обеспечения клиентов. Пользователи, не являющиеся членами группы, которые пытаются подключиться к MySQL с соответствующим клиентом именованного канала, получают отказ в доступе, пока администратор Windows не добавит пользователя в группу. Новые пользователи должны выйти из системы и снова войти в систему, чтобы присоединиться к группе (требуется Windows).Установка значения
'*everyone*'обеспечивает независимый от языка способ обращения к группе «Все» в Windows. Группа «Все» по умолчанию не защищена. -
Командная строка --net-buffer-length=#Системная переменная net_buffer_lengthОбласть Глобальная, Сеанс Динамическая Да SET_VARПрименяется подсказкаНет Тип Целое число Значение по умолчанию 16384Минимальное значение 1024Максимальное значение 1048576Единица байты Размер блока 1024Каждый поток клиента связан с буфером подключения и результата. Оба начинаются с размера, заданного
net_buffer_length, но динамически увеличиваются доmax_allowed_packetбайт по мере необходимости. Буфер результата уменьшается доnet_buffer_lengthпосле каждой SQL-команды.Обычно эту переменную изменять не нужно, но если у вас очень мало памяти, можно установить ее в ожидаемый размер заявок, отправляемых клиентами. Если запросы превышают этот размер, буфер подключения автоматически увеличивается. Максимальное значение, до которого можно установить
net_buffer_length, составляет 1 МБ.Сеансовое значение этой переменной только для чтения.
-
Командная строка --net-read-timeout=#Системная переменная net_read_timeoutОбласть Глобальная, Сеанс Динамическая Да SET_VARПрименяется подсказкаНет Тип Целое число Значение по умолчанию 30Минимальное значение 1Максимальное значение 31536000Единица секунды Количество секунд ожидания дополнительных данных от подключения перед прерыванием чтения. При чтении сервером данных от клиента,
net_read_timeoutзадает время ожидания прерывания чтения. При записи сервером данных клиенту,net_write_timeoutзадает время ожидания прерывания записи. См. такжеreplica_net_timeout. -
Командная строка --net-retry-count=#Системная переменная net_retry_countОбласть Глобальная, Сеанс Динамическая Да SET_VARПрименяется подсказкаНет Тип Целое число Значение по умолчанию 10Минимальное значение 1Максимальное значение (64-битные платформы) 18446744073709551615Максимальное значение (32-битные платформы) 4294967295Если чтение или запись в коммуникационный порт прервано, повторить попытку столько раз, прежде чем отказаться. Это значение следует устанавливать достаточно высоким на FreeBSD, потому что внутренние прерывания отправляются всем потокам.
-
Формат командной строки --net-write-timeout=#Системная переменная net_write_timeoutОбласть действия Глобальная, Сессия Динамическая Да SET_VARПрименимоНет Тип Целое число Значение по умолчанию 60Минимальное значение 1Максимальное значение 31536000Единица измерения секунды Количество секунд ожидания записи блока в соединение перед прерыванием записи. См. также
net_read_timeout. -
Формат командной строки --ngram-token-size=#Системная переменная ngram_token_sizeОбласть действия Глобальная Динамическая Нет SET_VARПрименимоНет Тип Целое число Значение по умолчанию 2Минимальное значение 1Максимальное значение 10Определяет размер токена n-граммы для n-граммного полносправочного анализатора. Опция
ngram_token_sizeдоступна только для чтения и может быть изменена только при запуске. Значение по умолчанию равно 2 (биграмм). Максимальное значение равно 10.Для получения дополнительной информации о конфигурации этой переменной, см. Раздел 14.9.8, «ngram Полносправочный анализатор».
-
Формат командной строки --offline-mode[={OFF|ON}]Системная переменная offline_modeОбласть действия Глобальная Динамическая Да SET_VARПрименимоНет Тип Булево Значение по умолчанию OFFВ автономном режиме экземпляр MySQL отключает клиентов, если у них нет соответствующих привилегий, и не позволяет им создавать новые подключения. Клиенты, которым доступ закрыт, получают ошибку.
Чтобы перевести сервер в автономный режим, измените значение системной переменной
offline_modeсOFFнаON. Для возврата к нормальной работе изменитеoffline_modeсONнаOFF. Для управления автономным режимом учётная запись администратора должна иметь привилегиюSYSTEM_VARIABLES_ADMINи привилегиюCONNECTION_ADMIN(или устаревшую привилегиюSUPER, которая охватывает обе эти привилегии). ТребуетсяCONNECTION_ADMIN, чтобы предотвратить случайное блокирование.Автономный режим имеет следующие характеристики:
Подключенные клиенты, у которых нет привилегии
CONNECTION_ADMIN(или устаревшей привилегииSUPER), отключаются при следующем запросе с соответствующей ошибкой. Отключение включает завершение выполняемых запросов и освобождение блокировок. Такие клиенты также не могут создавать новые подключения и получают соответствующую ошибку.Подключенные клиенты, имеющие привилегию
CONNECTION_ADMINилиSUPER, не отключаются и могут создавать новые подключения для управления сервером.Если пользователь, который переводит сервер в автономный режим, не имеет привилегии
SYSTEM_USER, подключенные клиенты, которые имеют привилегиюSYSTEM_USER, также не отключаются. Однако эти пользователи не могут создавать новые подключения к серверу в автономном режиме, если у них также нет привилегииCONNECTION_ADMINилиSUPER. Это только существующее подключение не может быть прервано, потому что для завершения сессии или запроса, выполняемого с привилегиейSYSTEM_USER, требуется привилегияSYSTEM_USER.Потоки репликации разрешается продолжать применение данных на сервер.
-
Формат командной строки --old-alter-table[={OFF|ON}]Системная переменная old_alter_tableОбласть действия Глобальная, Сессия Динамическая Да SET_VARПрименимоНет Тип Булево Значение по умолчанию OFFПри включенной переменной сервер не использует оптимизированный метод обработки операции
ALTER TABLE. Он возвращается к использованию временной таблицы, копированию данных, а затем переименованию временной таблицы в исходную, как в MySQL 5.0 и ранее. Для получения дополнительной информации об операцииALTER TABLE, см. Раздел 15.1.9, «Выполнение ALTER TABLE».ALTER TABLE ... DROP PARTITIONсold_alter_table=ONперестраивает разбиение таблицы и пытается переместить данные из удалённого разбиения в другое разбиение с совместимымPARTITION ... VALUESопределением. Данные, которые нельзя переместить в другое разбиение, удаляются. В более ранних выпускахALTER TABLE ... DROP PARTITIONсold_alter_table=ONудаляет данные, хранящиеся в разбиении, и удаляет разбиение.
-
Формат командной строки --open-files-limit=#Системная переменная open_files_limitОбласть видимости Глобальная Динамическая Нет SET_VARПодсказка применяетсяНет Тип Целое число Значение по умолчанию 5000, with possible adjustmentМинимальное значение 0Максимальное значение platform dependentКоличество файловых дескрипторов, доступных для mysqld из операционной системы:
При запуске, mysqld резервирует дескрипторы с помощью
setrlimit(), используя значение, запрошенное при установке этой переменной напрямую или с помощью опции--open-files-limitдля mysqld_safe. Если mysqld выдает ошибкуToo many open files, попробуйте увеличить значениеopen_files_limit. Внутренне, максимальное значение для этой переменной является максимальным беззнаковым целым числом, но фактический максимум зависит от платформы.Во время выполнения, значение
open_files_limitуказывает количество файловых дескрипторов, фактически разрешенных для mysqld операционной системой, которое может отличаться от значения, запрошенного при запуске. Если количество файловых дескрипторов, запрошенных во время запуска, не может быть выделено, mysqld записывает предупреждение в лог ошибок.
Эффективное значение
open_files_limitосновано на значении, указанном при запуске системы (если таковое имеется), и значенияхmax_connectionsиtable_open_cache, используя следующие формулы:-
10 + max_connections + (table_open_cache * 2). Использование значений по умолчанию для этих переменных дает 8161.Только в Windows к этому числу добавляется 2048 (значение максимального количества файловых дескрипторов библиотеки времени выполнения C). В итоге получается 10209, опять же используя значения по умолчанию для указанных системных переменных.
max_connections * 5Ограничение операционной системы.
Сервер пытается получить количество файловых дескрипторов, используя максимум из этих значений, ограниченных максимальным беззнаковым целым числом. Если такое количество дескрипторов получить невозможно, сервер пытается получить столько, сколько позволяет система.
Эффективное значение равно 0 в системах, где MySQL не может изменить количество открытых файлов.
В Unix значение не может быть установлено больше, чем значение, отображаемое командой ulimit -n. В Linux системах, использующих
systemd, значение не может быть установлено больше, чемLimitNOFILE(этоDefaultLimitNOFILE, еслиLimitNOFILEне установлен); в противном случае, в Linux, значениеopen_files_limitне может превышать ulimit -n. -
Формат командной строки --optimizer-prune-level=#Системная переменная optimizer_prune_levelОбласть видимости Глобальная, Сессия Динамическая Да SET_VARПодсказка применяетсяДа Тип Целое число Значение по умолчанию 1Минимальное значение 0Максимальное значение 1Управляет эвристикой, применяемой во время оптимизации запросов для удаления менее перспективных частичных планов из пространства поиска оптимизатора. Значение 0 отключает эвристику, так что оптимизатор выполняет полный поиск. Значение 1 приводит к тому, что оптимизатор удаляет планы на основе количества строк, извлеченных промежуточными планами.
-
Формат командной строки --optimizer-search-depth=#Системная переменная optimizer_search_depthОбласть видимости Глобальная, Сессия Динамическая Да SET_VARПодсказка применяетсяДа Тип Целое число Значение по умолчанию 62Минимальное значение 0Максимальное значение 62Максимальная глубина поиска, выполняемого оптимизатором запросов. Значения, большие, чем количество отношений в запросе, приводят к лучшим планам запросов, но требуют больше времени для генерации плана выполнения запроса. Значения, меньшие, чем количество отношений в запросе, возвращают план выполнения быстрее, но полученный план может быть далек от оптимального. Если установлено значение 0, система автоматически выбирает разумное значение.
-
Формат командной строки --optimizer-switch=valueСистемная переменная optimizer_switchОбласть видимости Глобальная, Сессия Динамическая Да SET_VARПодсказка применяетсяДа Тип Множество Допустимые значения batched_key_access={on|off}block_nested_loop={on|off}condition_fanout_filter={on|off}derived_condition_pushdown={on|off}derived_merge={on|off}duplicateweedout={on|off}engine_condition_pushdown={on|off}firstmatch={on|off}hash_join={on|off}index_condition_pushdown={on|off}index_merge={on|off}index_merge_intersection={on|off}index_merge_sort_union={on|off}index_merge_union={on|off}loosescan={on|off}materialization={on|off}mrr={on|off}mrr_cost_based={on|off}prefer_ordering_index={on|off}semijoin={on|off}skip_scan={on|off}subquery_materialization_cost_based={on|off}subquery_to_derived={on|off}use_index_extensions={on|off}use_invisible_indexes={on|off}Системная переменная
optimizer_switchпозволяет управлять поведением оптимизатора. Значение этой переменной представляет собой набор флагов, каждый из которых имеет значениеonилиoff, чтобы указать, включено или выключено соответствующее поведение оптимизатора. Эта переменная имеет глобальные и сессионные значения и может быть изменена во время выполнения. Глобальное значение по умолчанию может быть установлено при запуске сервера.Чтобы увидеть текущий набор флагов оптимизатора, выберите значение переменной:
mysql>
SELECT @@optimizer_switch\G*************************** 1. row *************************** @@optimizer_switch: index_merge=on,index_merge_union=on, index_merge_sort_union=on,index_merge_intersection=on, engine_condition_pushdown=on,index_condition_pushdown=on, mrr=on,mrr_cost_based=on,block_nested_loop=on, batched_key_access=off,materialization=on,semijoin=on, loosescan=on,firstmatch=on,duplicateweedout=on, subquery_materialization_cost_based=on, use_index_extensions=on,condition_fanout_filter=on, derived_merge=on,use_invisible_indexes=off,skip_scan=on, hash_join=on,subquery_to_derived=off, prefer_ordering_index=on,hypergraph_optimizer=off, derived_condition_pushdown=on,hash_set_operations=on 1 row in set (0.00 sec)Для получения дополнительной информации о синтаксисе этой переменной и поведении оптимизатора, которое она контролирует, см. Раздел 10.9.2, «Переключаемые оптимизации».
-
Формат командной строки --optimizer-trace=valueСистемная переменная optimizer_traceОбласть видимости Глобальная, Сессия Динамическая Да SET_VARПодсказка применяетсяНет Тип Строка Эта переменная управляет трассировкой оптимизатора. Для получения подробной информации см. Раздел 10.15, «Трассировка оптимизатора».
-
Формат командной строки --optimizer-trace-features=valueСистемная переменная optimizer_trace_featuresОбласть видимости Глобальная, сессии Динамическая Да SET_VARПодсказка применяетсяНет Тип Строка Эта переменная включает или отключает выбранные функции трассировки оптимизатора. Подробнее см. Раздел 10.15, «Трассировка оптимизатора».
-
Формат командной строки --optimizer-trace-limit=#Системная переменная optimizer_trace_limitОбласть видимости Глобальная, сессии Динамическая Да SET_VARПодсказка применяетсяНет Тип Целое число Значение по умолчанию 1Минимальное значение 0Максимальное значение 2147483647Максимальное количество трассировок оптимизатора для отображения. Подробнее см. Раздел 10.15, «Трассировка оптимизатора».
-
Формат командной строки --optimizer-trace-max-mem-size=#Системная переменная optimizer_trace_max_mem_sizeОбласть видимости Глобальная, сессии Динамическая Да SET_VARПодсказка применяетсяДа Тип Целое число Значение по умолчанию 1048576Минимальное значение 0Максимальное значение 4294967295Единица измерения байты Максимальный накопленный размер хранимых трассировок оптимизатора. Подробнее см. Раздел 10.15, «Трассировка оптимизатора».
-
Формат командной строки --optimizer-trace-offset=#Системная переменная optimizer_trace_offsetОбласть видимости Глобальная, сессии Динамическая Да SET_VARПодсказка применяетсяНет Тип Целое число Значение по умолчанию -1Минимальное значение -2147483647Максимальное значение 2147483647Смещение трассировок оптимизатора для отображения. Подробнее см. Раздел 10.15, «Трассировка оптимизатора».
-
performance_schema_xxxСистемные переменные Performance Schema перечислены в Разделе 29.15, «Системные переменные Performance Schema». Эти переменные могут использоваться для настройки работы Performance Schema.
-
Формат командной строки --parser-max-mem-size=#Системная переменная parser_max_mem_sizeОбласть видимости Глобальная, сессии Динамическая Да SET_VARПодсказка применяетсяНет Тип Целое число Значение по умолчанию (64-разрядные платформы) 18446744073709551615Значение по умолчанию (32-разрядные платформы) 4294967295Минимальное значение 10000000Максимальное значение (64-разрядные платформы) 18446744073709551615Максимальное значение (32-разрядные платформы) 4294967295Единица измерения байты Максимальный объем памяти, доступный анализатору. Значение по умолчанию не устанавливает ограничений на доступную память. Значение может быть уменьшено для защиты от ситуаций нехватки памяти, вызванных анализом длинных или сложных SQL-запросов.
-
Формат командной строки --partial-revokes[={OFF|ON}]Системная переменная partial_revokesОбласть видимости Глобальная Динамическая Да SET_VARПодсказка применяетсяНет Тип Булево Значение по умолчанию OFF(если частичных отзывов не существует)ON(если частичные отмены существуют)Включение этой переменной позволяет частично отзывать привилегии. В частности, для пользователей, имеющих привилегии на глобальном уровне,
partial_revokesпозволяет отозвать привилегии для определенных схем, оставляя привилегии на месте для других схем. Например, пользователь, имеющий глобальную привилегиюUPDATE, может быть ограничен в использовании этой привилегии в системной схемеmysql. (Или, другими словами, пользователю разрешено использовать привилегиюUPDATEво всех схемах, кроме схемыmysql.) В этом смысле глобальная привилегия пользователяUPDATEчастично отозвана.После включения
partial_revokesнельзя отключить, если у какой-либо учетной записи есть ограничения привилегий. Если такая учетная запись существует, отключениеpartial_revokesзавершится ошибкой:При попытках отключить
partial_revokesпри запуске сервер регистрирует сообщение об ошибке и включаетpartial_revokes.При попытках отключить
partial_revokesво время выполнения возникает ошибка, и значениеpartial_revokesостается неизменным.
Чтобы отключить
partial_revokesв этом случае, сначала измените каждую учетную запись, у которой частично отозваны привилегии, либо повторно предоставив привилегии, либо удалив учетную запись.ПримечаниеПри назначении привилегий включение
partial_revokesприводит к тому, что MySQL интерпретирует вхождения неэкранированных символов SQL-шаблонов_и%в именах схем как литеральные символы, точно так же, как если бы они были экранированы как\_и\%. Поскольку это изменяет способ интерпретации привилегий MySQL, целесообразно избегать неэкранированных символов подстановки в назначениях привилегий для установок, гдеpartial_revokesможет быть включено.Кроме того, использование
_и%в качестве символов подстановки в предоставлениях устарело, и следует ожидать, что поддержка их будет удалена в будущей версии MySQL.Для получения дополнительной информации, включая инструкции по удалению частичных отзывов, см. Раздел 8.2.12, «Ограничение привилегий с помощью частичных отзывов».
-
Формат командной строки --password-history=#Системная переменная password_historyОбласть действия Глобальная Динамическая Да SET_VARПрименяется подсказкаНет Тип Целое число Значение по умолчанию 0Минимальное значение 0Максимальное значение 4294967295Эта переменная определяет глобальную политику, контролирующую повторное использование предыдущих паролей на основе минимального требуемого количества смен паролей. Для ранее использованного пароля учетной записи эта переменная указывает количество последующих смен пароля учетной записи, которые должны произойти, прежде чем пароль может быть повторно использован. Если значение равно 0 (значение по умолчанию), ограничений на повторное использование пароля на основе количества смен паролей нет.
Изменения этой переменной применяются немедленно ко всем учетным записям, определённым с помощью опции
PASSWORD HISTORY DEFAULT.Глобальную политику повторного использования паролей, основанную на количестве смен, можно переопределить по желанию для отдельных учетных записей, используя опцию
PASSWORD HISTORYв операторахCREATE USERиALTER USER. См. Раздел 8.2.15, «Управление паролями». -
Формат командной строки --password-require-current[={OFF|ON}]Системная переменная password_require_currentОбласть действия Глобальная Динамическая Да SET_VARПрименяется подсказкаНет Тип Булево Значение по умолчанию OFFЭта переменная определяет глобальную политику, контролирующую, должны ли попытки изменить пароль учетной записи указывать текущий пароль для замены.
Изменения этой переменной применяются немедленно ко всем учетным записям, определённым с помощью опции
PASSWORD REQUIRE CURRENT DEFAULT.Глобальная политика обязательного подтверждения может быть переопределена по желанию для отдельных учетных записей с помощью опции
PASSWORD REQUIREв операторахCREATE USERиALTER USER. См. Раздел 8.2.15, «Управление паролями». -
Формат командной строки --password-reuse-interval=#Системная переменная password_reuse_intervalОбласть действия Глобальная Динамическая Да SET_VARПрименяется подсказкаНет Тип Целое число Значение по умолчанию 0Минимальное значение 0Максимальное значение 4294967295Единица измерения дни Эта переменная определяет глобальную политику, контролирующую повторное использование предыдущих паролей на основе прошедшего времени. Для ранее использованного пароля учетной записи эта переменная указывает количество дней, которые должны пройти, прежде чем пароль может быть повторно использован. Если значение равно 0 (значение по умолчанию), ограничений на повторное использование пароля на основе прошедшего времени нет.
Изменения этой переменной применяются немедленно ко всем учетным записям, определённым с помощью опции
PASSWORD REUSE INTERVAL DEFAULT.Глобальную политику повторного использования паролей, основанную на прошедшем времени, можно переопределить по желанию для отдельных учетных записей, используя опцию
PASSWORD REUSE INTERVALв операторахCREATE USERиALTER USER. См. Раздел 8.2.15, «Управление паролями». -
Формат командной строки --persisted-globals-load[={OFF|ON}]Системная переменная persisted_globals_loadОбласть действия Глобальная Динамическая Нет SET_VARПрименяется подсказкаНет Тип Булево Значение по умолчанию ONЗагружать ли сохранённые параметры конфигурации из файла
mysqld-auto.cnfв каталоге данных. Сервер обычно обрабатывает этот файл при запуске после всех других файлов параметров (см. Раздел 6.2.2.2, «Использование файлов параметров»). Отключениеpersisted_globals_loadзаставляет последовательность запуска сервера пропуститьmysqld-auto.cnf.Чтобы изменить содержимое
mysqld-auto.cnf, используйте операторыSET PERSIST,SET PERSIST_ONLYиRESET PERSIST. См. Раздел 7.1.9.3, «Сохранённые системные переменные». -
persist_only_admin_x509_subjectФормат командной строки --persist-only-admin-x509-subject=stringСистемная переменная persist_only_admin_x509_subjectОбласть действия Глобальная Динамическая Нет SET_VARПрименяется подсказкаНет Тип Строка Значение по умолчанию empty stringSET PERSISTиSET PERSIST_ONLYпозволяют сохранять системные переменные в файле параметровmysqld-auto.cnfв каталоге данных (см. Раздел 15.7.6.1, «Синтаксис SET для присваивания переменных»). Сохранение системных переменных позволяет сохранять изменения конфигурации во время выполнения, которые влияют на последующие перезапуски сервера, что удобно для удалённого администрирования без прямого доступа к файлам параметров хоста MySQL-сервера. Однако некоторые системные переменные не могут быть сохранены или могут быть сохранены только при определенных ограничительных условиях.Системная переменная
persist_only_admin_x509_subjectуказывает значение X.509 Subject сертификата SSL, которое должны иметь пользователи, чтобы иметь возможность сохранять системные переменные, ограниченные сохранением. Значение по умолчанию — пустая строка, что отключает проверку Subject, так что системные переменные, ограниченные сохранением, не могут быть сохранены никем.Если
persist_only_admin_x509_subjectне пустая, пользователи, которые подключаются к серверу с помощью зашифрованного соединения и предоставляют сертификат SSL с указанным значением Subject, могут использоватьSET PERSIST_ONLYдля сохранения ограниченных сохранением системных переменных. Для получения информации о системных переменных, ограниченных сохранением, и инструкций по настройке MySQL для включенияpersist_only_admin_x509_subjectсм. Раздел 7.1.9.4, «Несохраняемые и ограниченные сохранением системные переменные».
-
persist_sensitive_variables_in_plaintextФормат командной строки --persist_sensitive_variables_in_plaintext[={OFF|ON}]Системная переменная persist_sensitive_variables_in_plaintextОбласть видимости Глобальная Динамическая Нет SET_VARПодсказка применяетсяНет Тип Булево Значение по умолчанию ONpersist_sensitive_variables_in_plaintextуправляет тем, разрешено ли серверу хранить значения конфиденциальных системных переменных в незашифрованном формате, если поддержка компонента keyring недоступна в момент, когдаSET PERSISTиспользуется для установки значения системной переменной. Он также управляет тем, может ли сервер запуститься, если зашифрованные значения не могут быть расшифрованы. Обратите внимание, что плагины keyring не поддерживают безопасное хранение конфиденциальных системных переменных; компонент keyring (см. Раздел 8.4.4, «Кольцо ключей MySQL») должен быть включен на экземпляре сервера MySQL для поддержки безопасного хранения.Настройка по умолчанию,
ON, шифрует значения, если доступна поддержка компонента keyring, и сохраняет их незашифрованными (с предупреждением), если она недоступна. В следующий раз, когда будет установлено значение любой сохраненной системной переменной, если поддержка keyring доступна в этот момент, сервер шифрует значения любых незашифрованных конфиденциальных системных переменных. НастройкаONтакже позволяет серверу запускаться, если зашифрованные значения системных переменных не могут быть расшифрованы, в этом случае выдается предупреждение и используются значения по умолчанию для системных переменных. В этой ситуации их значения не могут быть изменены, пока они не будут расшифрованы.Наиболее безопасная настройка,
OFF, означает, что значения конфиденциальных системных переменных не могут быть сохранены, если поддержка компонента keyring недоступна. НастройкаOFFтакже означает, что сервер не запускается, если зашифрованные значения системных переменных не могут быть расшифрованы.Для получения дополнительной информации см. Сохранение конфиденциальных системных переменных.
-
Формат командной строки --pid-file=file_nameСистемная переменная pid_fileОбласть видимости Глобальная Динамическая Нет SET_VARПодсказка применяетсяНет Тип Имя файла Имя пути к файлу, в котором сервер записывает свой идентификатор процесса. Сервер создает файл в каталоге данных, если только не указано абсолютное имя пути для указания другого каталога. Если вы указываете эту переменную, вы должны указать значение. Если вы не указываете эту переменную, MySQL использует значение по умолчанию
, гдеhost_name.pidhost_name— это имя хост-машины.Файл идентификатора процесса используется другими программами, такими как mysqld_safe, для определения идентификатора процесса сервера. В Windows эта переменная также влияет на имя файла журнала ошибок по умолчанию. См. Раздел 7.4.2, «Журнал ошибок».
-
Формат командной строки --plugin-dir=dir_nameСистемная переменная plugin_dirОбласть видимости Глобальная Динамическая Нет SET_VARПодсказка применяетсяНет Тип Имя каталога Значение по умолчанию BASEDIR/lib/pluginИмя пути к каталогу плагинов.
Если каталог плагинов доступен для записи сервером, пользователь может записать исполняемый код в файл в каталоге с помощью
SELECT ... INTO DUMPFILE. Это можно предотвратить, сделавplugin_dirдоступным только для чтения серверу или установивsecure_file_privв каталог, куда можно безопасно выполнять записиSELECT. -
Формат командной строки --port=port_numСистемная переменная portОбласть видимости Глобальная Динамическая Нет SET_VARПодсказка применяетсяНет Тип Целое число Значение по умолчанию 3306Минимальное значение 0Максимальное значение 65535Номер порта, на котором сервер прослушивает TCP/IP-подключения. Эта переменная может быть установлена с помощью параметра
--port. -
Формат командной строки --preload-buffer-size=#Системная переменная preload_buffer_sizeОбласть видимости Глобальная, сеанса Динамическая Да SET_VARПодсказка применяетсяНет Тип Целое число Значение по умолчанию 32768Минимальное значение 1024Максимальное значение 1073741824Единица измерения байты Размер буфера, который выделяется при предварительной загрузке индексов.
Установка значения сеанса этой системной переменной является ограниченной операцией. Пользователь сеанса должен иметь права, достаточные для установки ограниченных переменных сеанса. См. Раздел 7.1.9.1, «Права на системные переменные».
-
Формат командной строки --print-identified-with-as-hex[={OFF|ON}]Системная переменная print_identified_with_as_hexОбласть видимости Глобальная, сеанса Динамическая Да SET_VARПодсказка применяетсяНет Тип Булево Значение по умолчанию OFFЗначения хэшей паролей, отображаемые в предложении
IDENTIFIED WITHвывода изSHOW CREATE USER, могут содержать непечатаемые символы, которые оказывают негативное влияние на отображение в терминале и в других средах. Включениеprint_identified_with_as_hexзаставляетSHOW CREATE USERотображать такие значения хэшей в виде шестнадцатеричных строк, а не в виде обычных строковых литералов. Значения хэшей, которые не содержат непечатаемых символов, по-прежнему отображаются как обычные строковые литералы, даже если эта переменная включена. -
Если установлено в 0 или
OFF(по умолчанию), профилирование инструкций отключено. Если установлено в 1 илиON, профилирование инструкций включено, и инструкцииSHOW PROFILEиSHOW PROFILESобеспечивают доступ к информации о профилировании. См. Раздел 15.7.7.33, «Инструкция SHOW PROFILES».Эта переменная устарела; ожидается, что она будет удалена в будущей версии MySQL.
-
Количество инструкций, для которых следует сохранять информацию о профилировании, если включена
profiling. Значение по умолчанию равно 15. Максимальное значение равно 100. Установка значения 0 фактически отключает профилирование. См. Раздел 15.7.7.33, «Инструкция SHOW PROFILES».Эта переменная устарела; ожидается, что она будет удалена в будущей версии MySQL.
-
protocol_compression_algorithmsКомандная строка --protocol-compression-algorithms=valueПеременная системы protocol_compression_algorithmsОбласть действия Глобальная Динамическая Да SET_VARПрименяется ли подсказкаНет Тип Набор Значение по умолчанию zlib,zstd,uncompressedДопустимые значения zlibzstduncompressedАлгоритмы сжатия, разрешенные сервером для входящих соединений. Это включает соединения клиентских программ и серверов, участвующих в репликации исходных/копий или групповой репликации. Сжатие не применяется к соединениям для
FEDERATEDтаблиц.protocol_compression_algorithmsне управляет сжатием соединений для X Protocol. См. Раздел 22.5.5, «Сжатие соединений с X Plugin» для получения информации о работе этого механизма.Значение переменной представляет собой список одного или нескольких имен алгоритмов сжатия, разделенных запятыми в любом порядке, выбранных из следующих элементов (регистр не учитывается):
zlib: Разрешить соединения, использующие алгоритм сжатияzlib.zstd: Разрешить соединения, использующие алгоритм сжатияzstd.uncompressed: Разрешить несжатые соединения. Если это имя алгоритма не включено в значениеprotocol_compression_algorithms, сервер не разрешает несжатые соединения. Он разрешает только сжатые соединения, использующие любые другие указанные алгоритмы в значении, и нет отката к несжатым соединениям.
Значение по умолчанию
zlib,zstd,uncompressedуказывает, что сервер разрешает все алгоритмы сжатия.Дополнительную информацию см. в Разделе 6.2.8, «Управление сжатием соединений».
-
Переменная системы protocol_versionОбласть действия Глобальная Динамическая Нет SET_VARПрименяется ли подсказкаНет Тип Целое число Значение по умолчанию 10Минимальное значение 0Максимальное значение 4294967295Версия протокола клиент/сервер, используемая сервером MySQL.
-
Переменная системы proxy_userОбласть действия Сеанс Динамическая Нет SET_VARПрименяется ли подсказкаНет Тип Строка Если текущий клиент является прокси для другого пользователя, эта переменная — имя учетной записи прокси-пользователя. В противном случае эта переменная равна
NULL. См. Раздел 8.2.19, «Прокси-пользователи». -
Переменная системы pseudo_replica_modeОбласть действия Сеанс Динамическая Да SET_VARПрименяется ли подсказкаНет Тип Булево pseudo_replica_modeиспользуется для внутренних целей сервера. Он помогает правильно обрабатывать транзакции, которые произошли на более старых или более новых серверах, чем сервер, который их сейчас обрабатывает. mysqlbinlog устанавливает значениеpseudo_replica_modeв true перед выполнением любых SQL-запросов.Установка сеансового значения
pseudo_replica_modeявляется ограниченной операцией. Пользователь сеанса должен иметь либо привилегиюREPLICATION_APPLIER(см. Раздел 19.3.3, «Проверка привилегий репликации»), либо привилегии, достаточные для установки ограниченных сеансовых переменных (см. Раздел 7.1.9.1, «Привилегии переменных системы»). Однако обратите внимание, что переменная не предназначена для установки пользователем; она устанавливается автоматически инфраструктурой репликации.pseudo_replica_modeоказывает следующие воздействия на обработку подготовленных XA-транзакций, которые могут быть прикреплены к сеансу обработки или откреплены от него (по умолчанию, сеанс, который выполняетXA START):Если значение true, и сеанс обработки выполнил внутренний запрос
BINLOG, XA-транзакции автоматически открепляются от сеанса сразу же после завершения первой части транзакции доXA PREPARE, чтобы их можно было подтвердить или откатить любым сеансом, имеющим привилегиюXA_RECOVER_ADMIN.Если значение false, XA-транзакции остаются прикрепленными к сеансу обработки, пока этот сеанс активен, в течение которого ни один другой сеанс не может подтвердить транзакцию. Подготовленная транзакция открепляется только при отключении сеанса или перезапуске сервера.
pseudo_replica_modeоказывает следующие воздействия на отметку времени задержки репликацииoriginal_commit_timestampи переменную системыoriginal_server_version:Если значение true, транзакции, которые не явно устанавливают
original_commit_timestampилиoriginal_server_version, предполагаются исходящими с другого, неизвестного сервера, поэтому значение 0, обозначающее неизвестное, присваивается как отметке времени, так и переменной системы.Если значение false, транзакции, которые не явно устанавливают
original_commit_timestampилиoriginal_server_version, предполагаются исходящими с текущего сервера, поэтому текущая отметка времени и версия текущего сервера присваиваются отметке времени и переменной системы.
pseudo_replica_modeоказывает следующие воздействия на обработку запроса, устанавливающего одну или несколько неподдерживаемых (удаленных или неизвестных) SQL-режимов:Если значение true, сервер игнорирует неподдерживаемый режим и выводит предупреждение.
Если значение false, сервер отклоняет запрос с ошибкой.
-
Устаревшее Да Переменная системы pseudo_slave_modeОбласть действия Сеанс Динамическая Да SET_VARПрименяется ли подсказкаНет Тип Булево Устаревший псевдоним для
pseudo_replica_mode.
-
Переменная сервера pseudo_thread_idОбласть Сеанс Динамическая Да SET_VARПрименимо к подсказкамНет Тип Целое число Значение по умолчанию 2147483647Минимальное значение 0Максимальное значение 2147483647Эта переменная предназначена для внутреннего использования сервером.
ПредупреждениеИзменение значения переменной сервера
pseudo_thread_idв сеансе изменяет значение, возвращаемое функциейCONNECTION_ID().Установка значения этой переменной в сеансе — ограниченная операция. Пользователь сеанса должен обладать правами, достаточными для установки ограниченных переменных сеанса. См. Раздел 7.1.9.1, «Права на переменные сервера».
-
Формат командной строки --query-alloc-block-size=#Переменная сервера query_alloc_block_sizeОбласть Глобальная, Сеанс Динамическая Да SET_VARПрименимо к подсказкамНет Тип Целое число Значение по умолчанию 8192Минимальное значение 1024Максимальное значение 4294966272Единица измерения байты Размер блока 1024Размер выделения в байтах блоков памяти, выделяемых для объектов, созданных во время разбора и выполнения операторов. При проблемах с фрагментацией памяти может помочь увеличение этого параметра.
Размер блока для числа байтов равен 1024. Значение, которое не является точным кратным размеру блока, округляется вниз до ближайшего меньшего кратного размера блока сервером MySQL перед сохранением значения переменной сервера. Парсер допускает значения до максимального беззнакового целого значения для платформы (4294967295 или 232−1 для 32-битной системы, 18446744073709551615 или 264−1 для 64-битной системы), но фактическое максимальное значение меньше, кратно размеру блока.
-
Формат командной строки --query-prealloc-size=#Устаревший Да Переменная сервера query_prealloc_sizeОбласть Глобальная, Сеанс Динамическая Да SET_VARПрименимо к подсказкамНет Тип Целое число Значение по умолчанию 8192Минимальное значение 8192Максимальное значение (64-битные платформы) 18446744073709550592Максимальное значение (32-битные платформы) 4294966272Единица измерения байты Размер блока 1024query_prealloc_sizeустарела, и её установка не имеет эффекта; ожидается её удаление в будущих релизах MySQL. -
Переменная сервера rand_seed1Область Сеанс Динамическая Да SET_VARПрименимо к подсказкамНет Тип Целое число Значение по умолчанию N/AМинимальное значение 0Максимальное значение 4294967295Переменные
rand_seed1иrand_seed2существуют только как переменные сеанса и могут быть установлены, но не считываются. Переменные (но не их значения) отображаются в выводеSHOW VARIABLES.Эти переменные предназначены для поддержки репликации функции
RAND(). Для операторов, вызывающихRAND(), источник передаёт два значения реплике, где они используются для инициализации генератора случайных чисел. Реплика использует эти значения для установки переменных сеансаrand_seed1иrand_seed2, чтобы функцияRAND()на реплике генерировала такое же значение, как и на источнике. -
См. описание для
rand_seed1. -
Формат командной строки --range-alloc-block-size=#Переменная сервера range_alloc_block_sizeОбласть Глобальная, Сеанс Динамическая Да SET_VARПрименимо к подсказкамДа Тип Целое число Значение по умолчанию 4096Минимальное значение 4096Максимальное значение (64-битные платформы) 18446744073709550592Максимальное значение 4294966272Единица измерения байты Размер блока 1024Размер в байтах блоков, выделяемых при выполнении оптимизации диапазона.
Размер блока для числа байтов равен 1024. Значение, которое не является точным кратным размеру блока, округляется вниз до ближайшего меньшего кратного размера блока сервером MySQL перед сохранением значения переменной сервера. Парсер допускает значения до максимального беззнакового целого значения для платформы (4294967295 или 232−1 для 32-битной системы, 18446744073709551615 или 264−1 для 64-битной системы), но фактическое максимальное значение меньше, кратно размеру блока.
-
Формат командной строки --range-optimizer-max-mem-size=#Переменная сервера range_optimizer_max_mem_sizeОбласть Глобальная, Сеанс Динамическая Да SET_VARПрименимо к подсказкамДа Тип Целое число Значение по умолчанию 8388608Минимальное значение 0Максимальное значение 18446744073709551615Единица измерения байты Ограничение потребления памяти для оптимизатора диапазона. Значение 0 означает “нет ограничения”. Если оптимизатор рассматривает план выполнения, использующий метод диапазона доступа, но оценивает, что количество памяти, необходимое для этого метода, превысит ограничение, то он отказывается от плана и рассматривает другие планы. Подробнее см. Ограничение потребления памяти для оптимизации диапазона.
-
Переменная системы rbr_exec_modeОбласть Сеанс Динамическая Да SET_VARПрименяется подсказкаНет Тип Перечисление Значение по умолчанию STRICTДопустимые значения STRICTIDEMPOTENTДля внутреннего использования mysqlbinlog. Эта переменная переключает сервер между режимом
IDEMPOTENTи режимомSTRICT. РежимIDEMPOTENTподавляет ошибки дублирования ключа и отсутствия ключа в операцияхBINLOG, сгенерированных mysqlbinlog. Этот режим полезен при повторном применении двоичного журнала, основанного на строках, на сервере, который вызывает конфликты с существующими данными. mysqlbinlog устанавливает этот режим при указании опции--idempotent, записывая следующее в выходные данные:SET SESSION RBR_EXEC_MODE=IDEMPOTENT;
-
Формат командной строки --read-buffer-size=#Переменная системы read_buffer_sizeОбласть Глобальная, Сеанс Динамическая Да SET_VARПрименяется подсказкаДа Тип Целое число Значение по умолчанию 131072Минимальное значение 8192Максимальное значение 2147479552Единица измерения байты Размер блока 4096Каждый поток, выполняющий последовательный поиск по таблице
MyISAM, выделяет буфер такого размера (в байтах) для каждой таблицы, которую он сканирует. Если вы выполняете много последовательных сканирований, вам может потребоваться увеличить это значение, которое по умолчанию равно 131072. Значение этой переменной должно быть кратно 4 КБ. Если оно установлено на значение, не кратное 4 КБ, оно округляется вниз до ближайшего кратного 4 КБ.Этот параметр также используется в следующих контекстах для всех остальных движков хранения, за исключением
InnoDB:Для кэширования индексов в временном файле (не временной таблице) при сортировке строк для
ORDER BY.Для массовой вставки в разделы.
Для кэширования результатов вложенных запросов.
read_buffer_sizeтакже используется в одном другом способе, специфичном для движка хранения: для определения размера блока памяти для таблицMEMORY.select_into_buffer_sizeиспользуется для буфера кэша ввода-вывода дляSELECT INTO DUMPFILEиSELECT INTO OUTFILEоператоров. (read_buffer_sizeиспользуется для размера буфера кэша ввода-вывода во всех остальных случаях.)Дополнительную информацию об использовании памяти во время различных операций см. в Разделе 10.12.3.1, «Как MySQL использует память».
-
Формат командной строки --read-only[={OFF|ON}]Системная переменная read_onlyОбласть действия Глобальная Динамическая Да SET_VARПодсказка применяетсяНет Тип Булево Значение по умолчанию OFFЕсли системная переменная
read_onlyвключена, сервер разрешает только обновления от клиентов, имеющих привилегиюCONNECTION_ADMIN(или устаревшую привилегиюSUPER). Эта переменная отключена по умолчанию.Сервер также поддерживает системную переменную
super_read_only(отключена по умолчанию), которая имеет следующие эффекты:Если
super_read_onlyвключена, сервер запрещает обновления клиентов, даже от пользователей, имеющих привилегиюCONNECTION_ADMINилиSUPER.Установка
super_read_onlyв значениеONнеявно устанавливаетread_onlyв значениеON.Установка
read_onlyв значениеOFFнеявно устанавливаетsuper_read_onlyв значениеOFF.
Когда
read_onlyвключена и когдаsuper_read_onlyвключена, сервер по-прежнему разрешает следующие операции:Обновления, выполняемые потоками репликации, если сервер является репликой. В настройках репликации полезно включить
read_onlyна серверах-репликах, чтобы убедиться, что реплики принимают обновления только от исходного сервера, а не от клиентов.Записи в системную таблицу
mysql.gtid_executed, которая хранит GTID для выполненных транзакций, которые отсутствуют в текущем файле двоичного журнала.Использование команд
ANALYZE TABLEилиOPTIMIZE TABLE. Цель режима только для чтения — предотвратить изменения структуры или содержимого таблиц. Анализ и оптимизация не являются такими изменениями. Это означает, например, что проверки согласованности на репликах только для чтения могут выполняться с помощью команды mysqlcheck--all-databases--analyze.Использование команд
FLUSH STATUS, которые всегда записываются в двоичный журнал.Операции с
TEMPORARYтаблицами.Вставки в таблицы журнала (
mysql.general_logиmysql.slow_log); см. Раздел 7.4.1, «Выбирайте места назначения для вывода общего журнала запросов и журнала медленных запросов».Обновления таблиц Performance Schema, такие как операции
UPDATEилиTRUNCATE TABLE.
Изменения
read_onlyна источнике репликации не реплицируются на сервера-реплики. Значение может быть установлено на реплике независимо от значения на источнике.Следующие условия применяются к попыткам включения
read_only(включая неявные попытки, связанные с включениемsuper_read_only):Попытка завершается неудачей и возникает ошибка, если у вас есть явные блокировки (полученные с помощью
LOCK TABLES) или активная транзакция.Попытка блокируется, пока у других клиентов есть активные операторы, активные
LOCK TABLES WRITEили активные операции фиксации, пока блокировки не будут освобождены, а операторы и транзакции не завершены. Пока попытка включенияread_onlyожидает, запросы других клиентов на блокировку таблиц или начало транзакций также блокируются, покаread_onlyне будет установлено.Попытка блокируется, если есть активные транзакции, которые удерживают метаданные блокировки, пока эти транзакции не завершены.
read_onlyможет быть включено, пока у вас есть глобальная блокировка чтения (полученная с помощьюFLUSH TABLES WITH READ LOCK), так как это не включает блокировку таблиц.
-
Формат командной строки --read-rnd-buffer-size=#Системная переменная read_rnd_buffer_sizeОбласть действия Глобальная, Сеанс Динамическая Да SET_VARПодсказка применяетсяДа Тип Целое число Значение по умолчанию 262144Минимальное значение 1Максимальное значение 2147483647Единица измерения байты Эта переменная используется для чтения из
MyISAMтаблиц и, для любого движка хранения, для оптимизации многодиапазонного чтения.При чтении строк из
MyISAMтаблицы в отсортированном порядке после операции сортировки по ключу, строки читаются через этот буфер для избежания обращений к диску. См. Раздел 10.2.1.16, «Оптимизация ORDER BY». Установка переменной в большое значение может значительно улучшить производительностьORDER BY. Однако это буфер, выделенный для каждого клиента, поэтому не следует устанавливать глобальную переменную в большое значение. Вместо этого изменяйте переменную сеанса только в тех клиентах, которым нужно запускать большие запросы.Дополнительную информацию об использовании памяти во время различных операций см. в Разделе 10.12.3.1, «Как MySQL использует память». Информацию об оптимизации многодиапазонного чтения см. в Разделе 10.2.1.11, «Оптимизация многодиапазонного чтения».
-
Формат командной строки --regexp-stack-limit=#Системная переменная regexp_stack_limitОбласть действия Глобальная Динамическая Да SET_VARПодсказка применяетсяНет Тип Целое число Значение по умолчанию 8000000Минимальное значение 0Максимальное значение 2147483647Единица измерения байты Максимальный объем памяти в байтах для внутреннего стека, используемого для операций сопоставления регулярных выражений, выполняемых функцией
REGEXP_LIKE()и аналогичными функциями (см. Раздел 14.8.2, «Регулярные выражения»).
-
Формат командной строки --regexp-time-limit=#Системная переменная regexp_time_limitОбласть действия Глобальная Динамическая Да SET_VARПрименяется ли подсказкаНет Тип Целое число Значение по умолчанию 32Минимальное значение 0Максимальное значение 2147483647Предельное время выполнения операций сопоставления с регулярным выражением, выполняемых функциями
REGEXP_LIKE()и аналогичными (см. Раздел 14.8.2, «Регулярные выражения»). Этот предел выражается как максимальное допустимое количество шагов, выполняемых механизмом сопоставления, и, следовательно, влияет на время выполнения только косвенно. Обычно он составляет порядка миллисекунд. -
Системная переменная require_row_formatОбласть действия Сеанс Динамическая Да SET_VARПрименяется ли подсказкаНет Тип Булево Значение по умолчанию OFFЭта переменная предназначена для внутреннего использования сервером при репликации и mysqlbinlog. Она ограничивает события DML, выполняемые в сеансе, только событиями, закодированными в формате двоичного журнала на основе строк, и создание временных таблиц недоступно. Запросы, не соответствующие ограничениям, завершаются ошибкой.
Установка значения этой системной переменной для сеанса в
ONне требует привилегий. Установка значения этой системной переменной для сеанса вOFF— это ограниченная операция, и пользователь сеанса должен иметь соответствующие привилегии. См. Раздел 7.1.9.1, «Привилегии системных переменных». -
Формат командной строки --require-secure-transport[={OFF|ON}]Системная переменная require_secure_transportОбласть действия Глобальная Динамическая Да SET_VARПрименяется ли подсказкаНет Тип Булево Значение по умолчанию OFFТребуется ли для подключений клиентов к серверу использование какой-либо формы безопасной передачи данных. При включении этой переменной сервер допускает только подключения TCP/IP, зашифрованные с помощью TLS/SSL, или подключения, использующие файл сокета (в Unix) или общую память (в Windows). Сервер отклоняет попытки неуверенного подключения, которые завершаются ошибкой.
Эта возможность дополняет требования к SSL для каждой учетной записи, которые имеют приоритет. Например, если для учетной записи задано
REQUIRE SSL, включениеrequire_secure_transportне позволяет использовать учетную запись для подключения с помощью файла сокета Unix.Возможно, что на сервере нет доступных безопасных каналов передачи данных. Например, сервер в Windows не поддерживает безопасных каналов передачи данных, если он запущен без указания файлов сертификата или ключа SSL и с отключенной системной переменной
shared_memory. В этих условиях попытки включитьrequire_secure_transportпри запуске сервера приводят к записи сообщения в журнал ошибок и завершению работы сервера. Попытки включить переменную во время работы завершаются ошибкой.См. также Настройка обязательного использования зашифрованных соединений.
-
restrict_fk_on_non_standard_keyФормат командной строки --restrict-fk-on-non-standard-keyУстарело Да Системная переменная restrict_fk_on_non_standard_keyОбласть действия Глобальная, сеанс Динамическая Да SET_VARПрименяется ли подсказкаНет Тип Булево Значение по умолчанию ONЭта переменная, когда
ON(значение по умолчанию), препятствует использованию неуникальных ключей или частичных ключей в качестве внешних ключей. Для разрешения использования таких ключей в качестве внешних ключей в текущем сеансе используйтеSET @@session.restrict_fk_on_non_standard_key=OFF; для разрешения их использования глобально установите глобальную переменную или запустите сервер с--skip-restrict-fk-on-non-standard-key.Использование неуникальных или частичных ключей в качестве внешних ключей в операциях
CREATE TABLEилиALTER TABLEустарело, и вы можете ожидать, что поддержка этого будет удалена в будущей версии MySQL. Когдаrestrict_fk_on_non_standard_keyравноON, попытки этого отвергаются с ; когда этоOFF, это использование разрешено, но все равно выдается предупреждение.restrict_fk_on_non_standard_keyустарело и может быть удалено в будущей версии MySQL. Установка его вызывает предупреждение об устаревании.Последствия для репликации MySQL. Когда внешний ключ создаётся на нестандартном ключе на главном сервере, потому что
restrict_fk_on_non_standard_keyравноOFF, операция завершается успешно на реплике, независимо от установки этой переменной на реплике. -
Системная переменная resultset_metadataОбласть действия Сеанс Динамическая Да SET_VARПрименяется ли подсказкаНет Тип Перечисление Значение по умолчанию FULLДопустимые значения FULLNONEДля подключений, для которых передача метаданных является необязательной, клиент устанавливает системную переменную
resultset_metadataдля управления тем, возвращает ли сервер метаданные набора результатов. Разрешенные значения:FULL(возвратить все метаданные; это значение по умолчанию) иNONE(не возвращать метаданные).Для подключений, которые не являются необязательными для метаданных, установка
resultset_metadataнаNONEприводит к ошибке.Подробности по управлению передачей метаданных набора результатов см. в .
-
secondary_engine_cost_thresholdСистемная переменная secondary_engine_cost_thresholdОбласть действия Сеанс Динамическая Да SET_VARПрименяется ли подсказкаДа Тип Числовой Значение по умолчанию 100000.000000Минимальное значение 0Максимальное значение DBL_MAX (maximum double value)Пороговое значение стоимости оптимизатора для передачи запроса на вторичный движок.
Для использования с HeatWave. См. Руководство пользователя HeatWave.
-
Формат командной строки --schema-definition-cache=#Системная переменная schema_definition_cacheОбласть действия Глобальная Динамическая Да SET_VARПрименяется ли подсказкаНет Тип Целое число Значение по умолчанию 256Минимальное значение 256Максимальное значение 524288Определяет ограничение на количество объектов определения схемы, как используемых, так и неиспользуемых, которые могут храниться в кэше объектов словаря.
Неиспользуемые объекты определения схемы сохраняются в кэше объектов словаря только тогда, когда количество используемых объектов меньше емкости, определенной параметром
schema_definition_cache.Значение
0означает, что объекты определения схемы хранятся в кэше объектов словаря только во время их использования.Для получения дополнительной информации см. Раздел 16.4, «Кэш объектов словаря».
-
Формат командной строки --secure-file-priv=dir_nameСистемная переменная secure_file_privОбласть действия Глобальная Динамическая Нет SET_VARПрименяется ли подсказкаНет Тип Строка Значение по умолчанию platform specificДопустимые значения empty stringdirnameNULLЭта переменная используется для ограничения эффекта операций импорта и экспорта данных, таких как те, которые выполняются операторами
LOAD DATAиSELECT ... INTO OUTFILE, а также функциейLOAD_FILE(). Эти операции разрешены только пользователям, имеющим привилегиюFILE.secure_file_privможет быть установлена следующим образом:Если она пустая, переменная не оказывает никакого влияния. Это небезопасное значение.
Если установлена в имя каталога, сервер ограничивает операции импорта и экспорта, чтобы они работали только с файлами в этом каталоге. Каталог должен существовать; сервер его не создаёт.
Если установлена в значение
NULL, сервер отключает операции импорта и экспорта.
Значение по умолчанию зависит от платформы и значения опции
INSTALL_LAYOUTCMake, как показано в следующей таблице. Чтобы явно указать значение по умолчанию дляsecure_file_priv, если вы собираете из исходного кода, используйте опциюINSTALL_SECURE_FILE_PRIVDIRCMake.Значение INSTALL_LAYOUTЗначение по умолчанию для secure_file_privSTANDALONEпустая строка DEB,RPM,SVR4/var/lib/mysql-filesВ противном случае mysql-filesпо адресуCMAKE_INSTALL_PREFIXСервер проверяет значение
secure_file_privпри запуске и записывает предупреждение в журнал ошибок, если значение небезопасно. Небезопасным считается значение, если оно пустое, или если это каталог данных или подкаталог, или каталог, доступный всем пользователям. Еслиsecure_file_privустановлено на несуществующий путь, сервер записывает сообщение об ошибке в журнал ошибок и завершает работу. -
Формат командной строки --select-into-buffer-size=#Системная переменная select_into_buffer_sizeОбласть действия Глобальная, Сеанс Динамическая Да SET_VARПрименяется ли подсказкаДа Тип Целое число Значение по умолчанию 131072Минимальное значение 8192Максимальное значение 2147479552Единица измерения байты Размер блока 4096При использовании оператора
SELECT INTO OUTFILEилиSELECT INTO DUMPFILEдля выгрузки данных в один или несколько файлов для создания резервных копий, миграции данных или других целей, запись часто буферизуется, а затем приводит к большому всплеску операций записи ввода-вывода на диск или другое хранилище и блокирует другие запросы, более чувствительные к задержкам. Вы можете использовать эту переменную для управления размером буфера, используемого для записи данных в хранилище, чтобы определить, когда следует выполнить синхронизацию буфера, и таким образом предотвратить блокировки записи, подобные описанным выше.select_into_buffer_sizeпереопределяет любое значение, установленное дляread_buffer_size. (select_into_buffer_sizeиread_buffer_sizeимеют одинаковые значения по умолчанию, максимальное и минимальное значение.) Вы также можете использоватьselect_into_disk_sync_delayдля установки тайм-аута, который должен соблюдаться после каждой синхронизации.Установка сеансового значения этой системной переменной является ограниченной операцией. Пользователь сеанса должен иметь привилегии, достаточные для установки ограниченных сеансовых переменных. См. Раздел 7.1.9.1, «Привилегии на системные переменные».
-
Формат командной строки --select-into-disk-sync={ON|OFF}Системная переменная select_into_disk_syncОбласть действия Глобальная, Сеанс Динамическая Да SET_VARПрименяется ли подсказкаДа Тип Булево Значение по умолчанию OFFДопустимые значения OFFONПри установке в значение
ON, позволяет синхронизировать буферы записи в выходной файл при выполнении долгоработающего оператораSELECT INTO OUTFILEили оператораSELECT INTO DUMPFILEс использованиемselect_into_buffer_size.
-
Формат командной строки --select-into-disk-sync-delay=#Системная переменная select_into_disk_sync_delayОбласть действия Глобальная, Сессия Динамическая Да SET_VARПрименяется подсказкаДа Тип Целое число Значение по умолчанию 0Минимальное значение 0Максимальное значение 31536000Единица измерения миллисекунды Когда включена синхронизация буфера записей в выходной файл с помощью длительного оператора
SELECT INTO OUTFILEили оператораSELECT INTO DUMPFILE, эта переменная устанавливает необязательную задержку (в миллисекундах) после синхронизации. Значение 0 (по умолчанию) означает отсутствие задержки.Установка значения этой системной переменной в сессии является ограниченной операцией. Пользователь сессии должен иметь достаточные права для установки ограниченных переменных сессии. См. Раздел 7.1.9.1, «Права на системные переменные».
-
Формат командной строки --session-track-gtids=valueСистемная переменная session_track_gtidsОбласть действия Глобальная, Сессия Динамическая Да SET_VARПрименяется подсказкаНет Тип Перечисление Значение по умолчанию OFFДопустимые значения OFFOWN_GTIDALL_GTIDSОпределяет, возвращает ли сервер GTIDs клиенту, позволяя клиенту отслеживать состояние сервера. В зависимости от значения переменной, по завершении каждой транзакции сервер получает и возвращает клиенту GTIDs в качестве подтверждения. Возможные значения для
session_track_gtidsследующие:OFF: Сервер не возвращает GTIDs клиенту. Это значение по умолчанию.OWN_GTID: Сервер возвращает GTIDs для всех транзакций, успешно подтвержденных этим клиентом в текущей сессии с момента последнего подтверждения. Как правило, это один GTID последней подтвержденной транзакции, но если один клиентский запрос привел к нескольким транзакциям, сервер возвращает набор GTIDs, содержащий все соответствующие GTIDs.ALL_GTIDS: Сервер возвращает глобальное значение системной переменнойgtid_executed, которое считывается после успешного подтверждения транзакции. Помимо GTID только что подтвержденной транзакции, этот набор GTID включает все транзакции, подтвержденные на сервере любым клиентом, и может включать транзакции, подтвержденные после того, как транзакция, которая в данный момент подтверждается, была подтверждена.
session_track_gtidsне может быть установлена в контексте транзакции.Для получения дополнительной информации об отслеживании состояния сессии, см. Раздел 7.1.18, «Отслеживание сервером состояния сессии клиента».
-
Формат командной строки --session-track-schema[={OFF|ON}]Системная переменная session_track_schemaОбласть действия Глобальная, Сессия Динамическая Да SET_VARПрименяется подсказкаНет Тип Булево Значение по умолчанию ONОпределяет, отслеживает ли сервер, когда в текущей сессии задан режим по умолчанию (база данных), и уведомляет клиента о наличии имени режима.
Если отслеживание имени режима включено, уведомление об имени происходит каждый раз при установке нового режима по умолчанию, даже если новое имя режима совпадает со старым.
Для получения дополнительной информации об отслеживании состояния сессии, см. Раздел 7.1.18, «Отслеживание сервером состояния сессии клиента».
-
Формат командной строки --session-track-state-change[={OFF|ON}]Системная переменная session_track_state_changeОбласть действия Глобальная, Сессия Динамическая Да SET_VARПрименяется подсказкаНет Тип Булево Значение по умолчанию OFFОпределяет, отслеживает ли сервер изменения состояния текущей сессии и уведомляет ли клиент о происходящих изменениях состояния. Изменения могут быть сообщены для следующих атрибутов состояния клиентской сессии:
Режим по умолчанию (база данных).
Значения системных переменных, специфичные для сессии.
Переменные, определенные пользователем.
Временные таблицы.
Подготовленные запросы.
Если отслеживание состояния сессии включено, уведомление происходит для каждого изменения, которое включает отслеживаемые атрибуты сессии, даже если новые значения атрибутов совпадают со старыми. Например, присвоение переменной, определенной пользователем, ее текущему значению приводит к уведомлению.
Переменная
session_track_state_changeуправляет только уведомлением о происходящих изменениях, а не самими изменениями. Например, уведомления об изменениях состояния происходят при установке режима по умолчанию или присвоении отслеживаемых системных переменных сессии, но уведомление не включает имя режима или значения переменных. Для получения уведомлений об имени режима или значениях системных переменных сессии используйте, соответственно, системную переменнуюsession_track_schemaилиsession_track_system_variables.ПримечаниеПрисвоение значения переменной
session_track_state_changeсамо по себе не считается изменением состояния и не сообщается как таковое. Однако, если ее имя указано в значенииsession_track_system_variables, любые присвоения значения приводят к уведомлению о новом значении.Для получения дополнительной информации об отслеживании состояния сессии, см. Раздел 7.1.18, «Отслеживание сервером состояния сессии клиента».
-
session_track_system_variablesФормат командной строки --session-track-system-variables=#Системная переменная session_track_system_variablesОбласть действия Глобальная, Сеанс Динамическая Да SET_VARПрименяется подсказкаНет Тип Строка Значение по умолчанию time_zone, autocommit, character_set_client, character_set_results, character_set_connectionУправляет тем, отслеживает ли сервер присваивания системным переменным сеанса и уведомляет ли клиент о имени и значении каждой присвоенной переменной. Значение переменной представляет собой список переменных, для которых следует отслеживать присваивания, разделенный запятыми. По умолчанию уведомления включены для
time_zone,autocommit,character_set_client,character_set_resultsиcharacter_set_connection. (Последние три переменные затронутыSET NAMES.)Для отображения идентификатора оператора для каждого обработанного оператора используйте переменную
statement_id. Например:mysql> SET @@SESSION.session_track_system_variables='statement_id' mysql> SELECT 1; +---+ | 1 | +---+ | 1 | +---+ 1 row in set (0.0006 sec) Statement ID: 603835Специальное значение
*(звездочка) заставляет сервер отслеживать присваивания всем переменным сеанса. Если указано, это значение должно быть указано само по себе без указания имен конкретных системных переменных. Это значение также включает отображение идентификатора оператора для каждого успешно обработанного оператора.Чтобы отключить уведомления о присваиваниях переменных сеанса, установите
session_track_system_variablesв пустую строку.Если отслеживание системных переменных сеанса включено, уведомления будут происходить при всех присваиваниях отслеживаемым переменным сеанса, даже если новые значения совпадают со старыми.
Дополнительную информацию об отслеживании состояния сеанса см. в разделе 7.1.18, «Отслеживание сервером состояния сеанса клиента».
-
session_track_transaction_infoФормат командной строки --session-track-transaction-info=valueСистемная переменная session_track_transaction_infoОбласть действия Глобальная, Сеанс Динамическая Да SET_VARПрименяется подсказкаНет Тип Перечисление Значение по умолчанию OFFДопустимые значения OFFSTATECHARACTERISTICSУправляет тем, отслеживает ли сервер состояние и характеристики транзакций в текущем сеансе и уведомляет ли клиент, чтобы сделать эту информацию доступной. Разрешены следующие значения
session_track_transaction_info:OFF: Отключение отслеживания состояния транзакции. Это значение по умолчанию.STATE: Включение отслеживания состояния транзакции без отслеживания характеристик. Отслеживание состояния позволяет клиенту определить, активна ли транзакция и может ли она быть перемещена в другой сеанс без отката.-
CHARACTERISTICS: Включение отслеживания состояния транзакции, включая отслеживание характеристик. Отслеживание характеристик позволяет клиенту определить, как перезапустить транзакцию в другом сеансе, чтобы она имела те же характеристики, что и в исходном сеансе. Для этой цели следующие характеристики имеют значение:ISOLATION LEVEL READ ONLY READ WRITE WITH CONSISTENT SNAPSHOT
Для безопасного перемещения транзакции в другой сеанс клиент должен отслеживать не только состояние транзакции, но и её характеристики. Кроме того, клиент должен отслеживать системные переменные
transaction_isolationиtransaction_read_only, чтобы правильно определить значения по умолчанию для сеанса. (Для отслеживания этих переменных перечислите их в значении системной переменнойsession_track_system_variables.)Дополнительную информацию об отслеживании состояния сеанса см. в разделе 7.1.18, «Отслеживание сервером состояния сеанса клиента».
-
Формат командной строки --set-operations-buffer-size=#Системная переменная set_operations_buffer_sizeОбласть действия Глобальная, Сеанс Динамическая Да SET_VARПрименяется подсказкаНет Тип Целое число Значение по умолчанию 256KМинимальное значение 16KМаксимальное значение 1 GBУстанавливает размер буфера для операций
INTERSECTиEXCEPT, которые используют хэш-таблицы, когда переключатель оптимизатораhash_set_operationsвключён. В общем случае увеличение размера этого буфера улучшает производительность этих операций при включенной оптимизации хеширования. -
sha256_password_auto_generate_rsa_keysФормат командной строки --sha256-password-auto-generate-rsa-keys[={OFF|ON}]Устаревший Да Системная переменная sha256_password_auto_generate_rsa_keysОбласть действия Глобальная Динамическая Нет SET_VARПрименяется подсказкаНет Тип Булево Значение по умолчанию ONСервер использует эту переменную для определения необходимости автоматического создания пар файлов закрытого/открытого ключа RSA в каталоге данных, если они еще не существуют.
При запуске сервер автоматически генерирует файлы пар ключей RSA в каталоге данных, если все эти условия верны: переменная
sha256_password_auto_generate_rsa_keysилиcaching_sha2_password_auto_generate_rsa_keysвключены; не указаны параметры RSA; файлы RSA отсутствуют в каталоге данных. Эти пары ключей обеспечивают безопасный обмен паролями с использованием RSA по незашифрованным соединениям для учетных записей, авторизованных плагиномsha256_password(устаревший) илиcaching_sha2_password; см. раздел 8.4.1.3, «Плагин аутентификации SHA-256» и раздел 8.4.1.2, «Плагин аутентификации кэширования SHA-2».Дополнительную информацию об автоматическом создании файлов RSA, включая имена файлов и характеристики, см. в разделе 8.3.3.1, «Создание сертификатов и ключей SSL и RSA с использованием MySQL»
Системная переменная
auto_generate_certsимеет отношение, но управляет автоматическим созданием файлов сертификатов и ключей SSL, необходимых для безопасных соединений с использованием SSL.
-
sha256_password_private_key_pathФормат командной строки --sha256-password-private-key-path=file_nameУстарело Да Системная переменная sha256_password_private_key_pathОбласть видимости Глобальная Динамическая Нет SET_VARПодсказка применяетсяНет Тип Имя файла Значение по умолчанию private_key.pemЗначение этой переменной — имя пути к файлу закрытого ключа RSA для плагина аутентификации
sha256_password(устаревший). Если файл указан как относительный путь, он интерпретируется относительно каталога данных сервера. Файл должен быть в формате PEM.ВажноПоскольку этот файл хранит закрытый ключ, его режим доступа должен быть ограничен таким образом, чтобы только сервер MySQL мог его читать.
Для получения информации о
sha256_password, см. Раздел 8.4.1.3, «SHA-256 Pluggable Authentication». -
Формат командной строки --sha256-password-proxy-users[={OFF|ON}]Устарело Да Системная переменная sha256_password_proxy_usersОбласть видимости Глобальная Динамическая Да SET_VARПодсказка применяетсяНет Тип Логическое Значение по умолчанию OFFЭта переменная управляет тем, поддерживает ли встроенный плагин аутентификации
sha256_password(устаревший) пользователей-посредников. Она не оказывает никакого влияния, если системная переменнаяcheck_proxy_usersне включена. Для получения информации о передаче прав пользователя см. Раздел 8.2.19, «Пользователи-посредники». -
sha256_password_public_key_pathФормат командной строки --sha256-password-public-key-path=file_nameУстарело Да Системная переменная sha256_password_public_key_pathОбласть видимости Глобальная Динамическая Нет SET_VARПодсказка применяетсяНет Тип Имя файла Значение по умолчанию public_key.pemЗначение этой переменной — имя пути к файлу открытого ключа RSA для плагина аутентификации
sha256_password(устаревший). Если файл указан как относительный путь, он интерпретируется относительно каталога данных сервера. Файл должен быть в формате PEM. Поскольку этот файл хранит открытый ключ, копии могут свободно распространяться среди пользователей клиентов. (Клиенты, которые явно указывают открытый ключ при подключении к серверу с использованием шифрования пароля RSA, должны использовать тот же открытый ключ, что и сервер.)Для получения информации о
sha256_password(устаревший), включая информацию о том, как клиенты указывают открытый ключ RSA, см. Раздел 8.4.1.3, «SHA-256 Pluggable Authentication». -
Формат командной строки --shared-memory[={OFF|ON}]Системная переменная shared_memoryОбласть видимости Глобальная Динамическая Нет SET_VARПодсказка применяетсяНет Специфично для платформы Windows Тип Логическое Значение по умолчанию OFF(Только Windows.) Разрешает ли сервер подключения с общей памятью.
-
Формат командной строки --shared-memory-base-name=nameСистемная переменная shared_memory_base_nameОбласть видимости Глобальная Динамическая Нет SET_VARПодсказка применяетсяНет Специфично для платформы Windows Тип Строка Значение по умолчанию MYSQL(Только Windows.) Имя общей памяти для использования с подключениями с общей памятью. Это полезно при запуске нескольких экземпляров MySQL на одной физической машине. Имя по умолчанию —
MYSQL. Имя чувствительно к регистру.Эта переменная применяется только в том случае, если сервер запущен с включенной системной переменной
shared_memoryдля поддержки подключений с общей памятью. -
show_create_table_skip_secondary_engineФормат командной строки --show-create-table-skip-secondary-engine[={OFF|ON}]Системная переменная show_create_table_skip_secondary_engineОбласть видимости Сессия Динамическая Да SET_VARПодсказка применяетсяДа Тип Логическое Значение по умолчанию OFFВключение
show_create_table_skip_secondary_engineприводит к исключению предложенияSECONDARY ENGINEиз выводаSHOW CREATE TABLEи из инструкцийCREATE TABLE, выгружаемых утилитой mysqldump.mysqldump предоставляет опцию
--show-create-skip-secondary-engine. При указании она включает системную переменнуюshow_create_table_skip_secondary_engineна время операции дампа.Для использования с HeatWave. См. Руководство пользователя HeatWave.
-
Формат командной строки --show-create-table-verbosity[={OFF|ON}]Системная переменная show_create_table_verbosityОбласть видимости Глобальная, Сессия Динамическая Да SET_VARПодсказка применяетсяНет Тип Логическое Значение по умолчанию OFFSHOW CREATE TABLEобычно не показывает параметр таблицыROW_FORMAT, если формат строки является форматом по умолчанию. Включение этой переменной приводит к тому, чтоSHOW CREATE TABLEотображаетROW_FORMATнезависимо от того, является ли он форматом по умолчанию.
-
show_gipk_in_create_table_and_information_schemaФормат командной строки --show-gipk-in-create-table-and-information-schema[={OFF|ON}]Переменная системы show_gipk_in_create_table_and_information_schemaОбласть действия Глобальная, Сеанс Динамическая Да SET_VARПрименяется подсказкаНет Тип Булево Значение по умолчанию ONПоказывает ли сгенерированные невидимые первичные ключи в выводе команд
SHOWи в таблицах Информационной схемы. Когда эта переменная установлена в значениеOFF, такие ключи не отображаются.Эта переменная не реплицируется.
Дополнительную информацию см. в разделе 15.1.20.11 «Сгенерированные невидимые первичные ключи».
-
Формат командной строки --skip-external-locking[={OFF|ON}]Переменная системы skip_external_lockingОбласть действия Глобальная Динамическая Нет SET_VARПрименяется подсказкаНет Тип Булево Значение по умолчанию ONУстанавливается в значение
OFF, если mysqld использует внешние блокировки (системные блокировки), и в значениеON, если внешние блокировки отключены. Это влияет только на доступ к таблицамMyISAM.Эта переменная устанавливается параметром
--external-lockingили--skip-external-locking. Внешние блокировки отключены по умолчанию.Внешние блокировки влияют только на доступ к таблицам
MyISAM. Дополнительную информацию, включая условия, при которых они могут и не могут использоваться, см. в разделе 10.11.5 «Внешние блокировки». -
Формат командной строки --skip-name-resolve[={OFF|ON}]Переменная системы skip_name_resolveОбласть действия Глобальная Динамическая Нет SET_VARПрименяется подсказкаНет Тип Булево Значение по умолчанию OFFРазрешить ли разрешение имен хостов при проверке подключений клиентов. Если эта переменная установлена в значение
OFF, mysqld разрешает имена хостов при проверке подключений клиентов. Если она установлена в значениеON, mysqld использует только IP-адреса; в этом случае все значения столбцаHostв таблицах разрешений должны быть IP-адресами. См. раздел 7.1.12.3 «Поиск DNS и кэш хостов».В зависимости от конфигурации сети вашей системы и значений
Hostдля ваших учетных записей, клиентам может потребоваться подключение с явным параметром--host, например,--host=127.0.0.1или--host=::1.Попытка подключения к хосту
127.0.0.1обычно приводит к разрешению учетной записиlocalhost. Однако это не удается, если сервер запущен с включенной переменнойskip_name_resolve. Если вы планируете это сделать, убедитесь, что существует учетная запись, которая может принять подключение. Например, чтобы подключиться какrootс помощью--host=127.0.0.1или--host=::1, создайте эти учетные записи:CREATE USER 'root'@'127.0.0.1' IDENTIFIED BY '
root-password'; CREATE USER 'root'@'::1' IDENTIFIED BY 'root-password'; -
Формат командной строки --skip-networking[={OFF|ON}]Переменная системы skip_networkingОбласть действия Глобальная Динамическая Нет SET_VARПрименяется подсказкаНет Тип Булево Значение по умолчанию OFFЭта переменная управляет тем, разрешает ли сервер подключения по TCP/IP. По умолчанию она отключена (разрешены TCP-соединения). Если она включена, сервер разрешает только локальные (не TCP/IP) подключения, а все взаимодействия с mysqld должны выполняться с помощью именованных каналов или общей памяти (в Windows) или файлов сокетов Unix (в Unix). Этот параметр рекомендуется для систем, в которых допускаются только локальные клиенты. См. раздел 7.1.12.3 «Поиск DNS и кэш хостов».
Поскольку запуск сервера с параметром
--skip-grant-tablesотключает проверки аутентификации, сервер также отключает удаленные подключения, включаяskip_networking. -
Формат командной строки --skip-show-databaseПеременная системы skip_show_databaseОбласть действия Глобальная Динамическая Нет SET_VARПрименяется подсказкаНет Тип Булево Значение по умолчанию OFFЭто предотвращает использование оператора
SHOW DATABASESпользователями, у которых нет привилегииSHOW DATABASES. Это может повысить безопасность, если вы беспокоитесь о возможности просмотра пользователями баз данных, принадлежащих другим пользователям. Его эффект зависит от привилегииSHOW DATABASES: Если значение переменной равноON, операторSHOW DATABASESразрешен только для пользователей, имеющих привилегиюSHOW DATABASES, и оператор отображает все имена баз данных. Если значение равноOFF, операторSHOW DATABASESразрешен всем пользователям, но отображает имена только тех баз данных, для которых у пользователя есть привилегияSHOW DATABASESили другая привилегия.ВниманиеПоскольку любая статическая глобальная привилегия считается привилегией для всех баз данных, любая статическая глобальная привилегия позволяет пользователю видеть все имена баз данных с помощью
SHOW DATABASESили путем проверки таблицыSCHEMATAизINFORMATION_SCHEMA, за исключением баз данных, которые были ограничены на уровне базы данных частичными отзывами.
-
Формат командной строки --slow-launch-time=#Системная переменная slow_launch_timeОбласть видимости Глобальная Динамическая Да SET_VARПодсказка применяетсяНет Тип Целое число Значение по умолчанию 2Минимальное значение 0Максимальное значение 31536000Единица измерения секунды Если создание потока занимает больше указанного количества секунд, сервер увеличивает значение переменной состояния
Slow_launch_threads. -
Формат командной строки --slow-query-log[={OFF|ON}]Системная переменная slow_query_logОбласть видимости Глобальная Динамическая Да SET_VARПодсказка применяетсяНет Тип Логическое Значение по умолчанию OFFВключен ли журнал медленных запросов. Значение может быть 0 (или
OFF) для отключения журнала или 1 (илиON) для его включения. Назначение для вывода журнала управляется системной переменнойlog_output; если это значение равноNONE, записи в журнал не записываются, даже если журнал включен.“Медленный” определяется значением переменной
long_query_time. См. Раздел 7.4.5, «Журнал медленных запросов». -
Формат командной строки --slow-query-log-file=file_nameСистемная переменная slow_query_log_fileОбласть видимости Глобальная Динамическая Да SET_VARПодсказка применяетсяНет Тип Имя файла Значение по умолчанию host_name-slow.logИмя файла журнала медленных запросов. Значение по умолчанию —
, но начальное значение может быть изменено с помощью параметраhost_name-slow.log--slow_query_log_file. -
Формат командной строки --socket={file_name|pipe_name}Системная переменная socketОбласть видимости Глобальная Динамическая Нет SET_VARПодсказка применяетсяНет Тип Строка Значение по умолчанию (Windows) MySQLЗначение по умолчанию (другие) /tmp/mysql.sockНа платформах Unix эта переменная — имя файла сокета, используемого для локальных подключений клиентов. Значение по умолчанию —
/tmp/mysql.sock. (Для некоторых форматов дистрибуции каталог может быть другим, например,/var/lib/mysqlдля RPM-пакетов.)В Windows эта переменная — имя именованного канала, используемого для локальных подключений клиентов. Значение по умолчанию —
MySQL(без учета регистра). -
Формат командной строки --sort-buffer-size=#Системная переменная sort_buffer_sizeОбласть видимости Глобальная, сеанса Динамическая Да SET_VARПодсказка применяетсяДа Тип Целое число Значение по умолчанию 262144Минимальное значение 32768Максимальное значение (Windows) 4294967295Максимальное значение (другие, 64-разрядные платформы) 18446744073709551615Максимальное значение (другие, 32-разрядные платформы) 4294967295Единица измерения байты Каждый сеанс, которому необходимо выполнить сортировку, выделяет буфер этого размера.
sort_buffer_sizeне специфичен для какого-либо механизма хранения и применяется общим образом для оптимизации. Как минимум значениеsort_buffer_sizeдолжно быть достаточно большим, чтобы вместить пятнадцать кортежей в буфере сортировки. Кроме того, увеличение значенияmax_sort_lengthможет потребовать увеличения значенияsort_buffer_size. Для получения дополнительной информации см. Раздел 10.2.1.16, «Оптимизация ORDER BY»Если вы видите много
Sort_merge_passesв секунду в выводеSHOW GLOBAL STATUS, вы можете рассмотреть возможность увеличения значенияsort_buffer_sizeдля ускорения операцийORDER BYилиGROUP BY, которые нельзя улучшить с помощью оптимизации запросов или улучшенного индексирования.Оптимизатор пытается определить, сколько места необходимо, но может выделить больше, вплоть до предела. Установка большего, чем необходимо, глобального значения замедляет большинство запросов, выполняющих сортировку. Лучше всего увеличить его как настройку сеанса и только для сеансов, которым требуется больший размер. В Linux существуют пороговые значения 256 КБ и 2 МБ, при которых большие значения могут значительно замедлить выделение памяти, поэтому следует рассмотреть возможность оставаться ниже одного из этих значений. Экспериментируйте, чтобы найти оптимальное значение для вашей рабочей нагрузки. См. Раздел B.3.3.5, «Где MySQL хранит временные файлы».
Максимально допустимая настройка для
sort_buffer_sizeсоставляет 4 ГБ−1. Более высокие значения допускаются для 64-разрядных платформ (за исключением 64-разрядной Windows, для которой большие значения усекаются до 4 ГБ−1 с предупреждением). -
Системная переменная sql_auto_is_nullОбласть видимости Глобальная, сеанса Динамическая Да SET_VARПодсказка применяетсяДа Тип Логическое Значение по умолчанию OFFЕсли эта переменная включена, то после оператора, успешно вставившего автоматически генерируемое значение
AUTO_INCREMENT, вы можете найти это значение, выполнив оператор следующего вида:SELECT * FROM
tbl_nameWHEREauto_colIS NULLЕсли оператор возвращает строку, возвращаемое значение такое же, как если бы вы вызвали функцию
LAST_INSERT_ID(). Для получения подробной информации, включая возвращаемое значение после вставки нескольких строк, см. Раздел 14.15, «Информационные функции». Если значениеAUTO_INCREMENTне было успешно вставлено, операторSELECTне возвращает ни одной строки.Поведение получения значения
AUTO_INCREMENTс помощью сравненияIS NULLиспользуется некоторыми программами ODBC, такими как Access. См. Это поведение может быть отключено путем установкиsql_auto_is_nullвOFF.Значение по умолчанию для
sql_auto_is_null—OFF.
-
Переменная системы sql_big_selectsОбласть действия Глобальная, сеансовая Динамическая Да SET_VARПрименяется подсказкаДа Тип Булево Значение по умолчанию ONЕсли установлено значение
OFF, MySQL прерывает операторыSELECT, которые, вероятно, будут выполняться очень долго (то есть, операторы, для которых оптимизатор оценивает, что число проверяемых строк превышает значениеmax_join_size). Это полезно, когда был выдан нежелательный операторWHERE. Значение по умолчанию для нового подключения -ON, что разрешает все операторыSELECT.Если вы установите переменную системы
max_join_sizeна значение, отличное отDEFAULT,sql_big_selectsустанавливается в значениеOFF. -
Переменная системы sql_buffer_resultОбласть действия Глобальная, сеансовая Динамическая Да SET_VARПрименяется подсказкаДа Тип Булево Значение по умолчанию OFFЕсли включено,
sql_buffer_resultпринудительно помещает результаты операторовSELECTво временные таблицы. Это помогает MySQL освободить блокировки таблиц раньше и может быть полезно в случаях, когда отправка результатов клиенту занимает много времени. Значение по умолчанию -OFF. -
sql_generate_invisible_primary_keyФормат командной строки --sql-generate-invisible-primary-key[={OFF|ON}]Переменная системы sql_generate_invisible_primary_keyОбласть действия Глобальная, сеансовая Динамическая Да SET_VARПрименяется подсказкаНет Тип Булево Значение по умолчанию OFFУказывает, добавляет ли этот сервер сгенерированный невидимый первичный ключ к любой таблице
InnoDB, созданной без него.Эта переменная не реплицируется. Кроме того, даже если она установлена на реплике, она игнорируется потоками применений репликации; это означает, что по умолчанию реплика не генерирует первичный ключ для любой реплицированной таблицы, которая на источнике была создана без него. Вы можете заставить реплику генерировать невидимые первичные ключи для таких таблиц, установив
REQUIRE_TABLE_PRIMARY_KEY_CHECK = GENERATEв рамках оператораCHANGE REPLICATION SOURCE TO, необязательно указав канал репликации.Для получения более подробной информации и примеров см. Раздел 15.1.20.11, “Сгенерированные невидимые первичные ключи”.
-
Переменная системы sql_log_offОбласть действия Глобальная, сеансовая Динамическая Да SET_VARПрименяется подсказкаНет Тип Булево Значение по умолчанию OFFДопустимые значения OFF(включить логирование)ON(отключить логирование)Эта переменная управляет отключением логирования в общий журнал запросов для текущего сеанса (при условии, что сам общий журнал запросов включен). Значение по умолчанию -
OFF(то есть, включить логирование). Для отключения или включения общего логирования запросов для текущего сеанса установите сеансовую переменнуюsql_log_offна значениеONилиOFF.Установка сеансового значения этой переменной является ограниченной операцией. Пользователь сеанса должен иметь права, достаточные для установки ограниченных сеансовых переменных. См. Раздел 7.1.9.1, “Права на переменные системы”.
-
Формат командной строки --sql-mode=nameПеременная системы sql_modeОбласть действия Глобальная, сеансовая Динамическая Да SET_VARПрименяется подсказкаДа Тип Набор Значение по умолчанию ONLY_FULL_GROUP_BY STRICT_TRANS_TABLES NO_ZERO_IN_DATE NO_ZERO_DATE ERROR_FOR_DIVISION_BY_ZERO NO_ENGINE_SUBSTITUTIONДопустимые значения ALLOW_INVALID_DATESANSI_QUOTESERROR_FOR_DIVISION_BY_ZEROHIGH_NOT_PRECEDENCEIGNORE_SPACENO_AUTO_VALUE_ON_ZERONO_BACKSLASH_ESCAPESNO_DIR_IN_CREATENO_ENGINE_SUBSTITUTIONNO_UNSIGNED_SUBTRACTIONNO_ZERO_DATENO_ZERO_IN_DATEONLY_FULL_GROUP_BYPAD_CHAR_TO_FULL_LENGTHPIPES_AS_CONCATREAL_AS_FLOATSTRICT_ALL_TABLESSTRICT_TRANS_TABLESTIME_TRUNCATE_FRACTIONALТекущий режим SQL сервера, который может быть изменён динамически. Подробнее см. Раздел 7.1.11, “Режим SQL сервера”.
ПримечаниеПрограммы установки MySQL могут настроить режим SQL во время установки.
Если режим SQL отличается от значения по умолчанию или ожидаемого значения, проверьте параметр в файле конфигурации, который считывается сервером при запуске.
-
Переменная системы sql_notesОбласть действия Глобальная, сеансовая Динамическая Да SET_VARПрименяется подсказкаНет Тип Булево Значение по умолчанию ONЕсли включено (по умолчанию), диагностика уровня
Noteувеличивает счётчикwarning_count, и сервер их регистрирует. Если отключено, диагностика уровняNoteне увеличиваетwarning_count, и сервер их не регистрирует. mysqldump включает вывод для отключения этой переменной, чтобы при загрузке файла дампа не генерировались предупреждения для событий, которые не влияют на целостность процесса загрузки.
-
Переменная системы sql_quote_show_createОбласть действия Глобальная, сеансовая Динамическая Да SET_VARПрименяется подсказкаНет Тип Булево Значение по умолчанию ONЕсли включено (по умолчанию), сервер помещает в кавычки идентификаторы для
SHOW CREATE TABLEиSHOW CREATE DATABASEзаявлений. Если отключено, кавычки отключаются. Этот параметр включен по умолчанию, чтобы репликация работала для идентификаторов, требующих кавычек. См. Раздел 15.7.7.11, «Заявление SHOW CREATE TABLE» и Раздел 15.7.7.7, «Заявление SHOW CREATE DATABASE». -
Формат командной строки --sql-require-primary-key[={OFF|ON}]Переменная системы sql_require_primary_keyОбласть действия Глобальная, сеансовая Динамическая Да SET_VARПрименяется подсказкаДа Тип Булево Значение по умолчанию OFFОпределяет, будут ли утверждения, создающие новые таблицы или изменяющие структуру существующих таблиц, требовать наличия первичного ключа.
Установка сеансового значения этой переменной системы — ограниченная операция. Сеансовый пользователь должен иметь соответствующие привилегии для установки ограниченных сеансовых переменных. См. Раздел 7.1.9.1, «Привилегии переменных системы».
Включение этой переменной помогает избежать проблем производительности при репликации на основе строк, которые могут возникать, когда таблицы не имеют первичного ключа. Предположим, что таблица не имеет первичного ключа, и обновление или удаление изменяют несколько строк. На сервере источника репликации данную операцию можно выполнить с помощью одного сканирования таблицы, но при репликации на основе строк это приведет к сканированию таблицы для каждой строки, которую нужно изменить на реплике. С первичным ключом эти сканирования таблицы не происходят.
sql_require_primary_keyприменяется как к основным таблицам, так и кTEMPORARYтаблицам, и изменения в его значении реплицируются на серверы реплики. Таблица должна использовать хранилища MySQL, которые могут участвовать в репликации.При включении
sql_require_primary_keyпроисходит следующее:Попытки создать новую таблицу без первичного ключа завершатся ошибкой. Это включает
CREATE TABLE ... LIKE. Это также включаетCREATE TABLE ... SELECT, если частьCREATE TABLEне содержит определение первичного ключа.-
Попытки удалить первичный ключ из существующей таблицы завершатся ошибкой, за исключением случая, когда первичный ключ удаляется и добавляется в том же
ALTER TABLEоператоре.Удаление первичного ключа завершается ошибкой, даже если таблица также содержит
UNIQUE NOT NULLиндекс. Попытки импорта таблицы без первичного ключа завершатся ошибкой.
Параметр
REQUIRE_TABLE_PRIMARY_KEY_CHECKоператораCHANGE REPLICATION SOURCE TOпозволяет реплике выбрать собственную политику проверки первичного ключа. Когда параметр установлен наONдля канала репликации, реплика всегда использует значениеONдля переменной системыsql_require_primary_keyв операциях репликации, требуя первичный ключ. Когда параметр установлен наOFF, реплика всегда использует значениеOFFдля переменной системыsql_require_primary_keyв операциях репликации, так что первичный ключ никогда не требуется, даже если исходник его требовал. Когда параметрREQUIRE_TABLE_PRIMARY_KEY_CHECKустановлен наSTREAM, что является значением по умолчанию, реплика использует то значение, которое реплицируется из источника для каждой транзакции. С настройкойSTREAMдля параметраREQUIRE_TABLE_PRIMARY_KEY_CHECK, если для канала репликации используются проверки привилегий, учетная записьPRIVILEGE_CHECKS_USERнуждается в привилегиях, достаточных для установки ограниченных сеансовых переменных, чтобы она могла установить сеансовое значение переменной системыsql_require_primary_key. С настройкамиONилиOFFучетной записи не нужны эти привилегии. Подробнее см. Раздел 19.3.3, «Проверки привилегий репликации». -
Переменная системы sql_safe_updatesОбласть действия Глобальная, сеансовая Динамическая Да SET_VARПрименяется подсказкаДа Тип Булево Значение по умолчанию OFFЕсли эта переменная включена,
UPDATEиDELETEзаявления, которые не используют ключ вWHEREилиLIMITфразе, генерируют ошибку. Это позволяет отслеживатьUPDATEиDELETEутверждения, в которых ключи не используются должным образом и, вероятно, изменят или удалят большое количество строк. Значение по умолчанию —OFF.Для клиента mysql,
sql_safe_updatesможно включить, используя опцию--safe-updates. Подробнее см. Использование режима Safe-Updates (--safe-updates). -
Переменная системы sql_select_limitОбласть действия Глобальная, сеансовая Динамическая Да SET_VARПрименяется подсказкаДа Тип Целое Значение по умолчанию 18446744073709551615Минимальное значение 0Максимальное значение 18446744073709551615Максимальное количество строк, возвращаемых из
SELECTзаявлений. Подробнее см. Использование режима Safe-Updates (--safe-updates).Значение по умолчанию для нового подключения — максимальное количество строк, разрешенных сервером на таблицу. Типичные значения по умолчанию — (232) − 1 или (264) − 1. Если вы изменили ограничение, значение по умолчанию можно восстановить, присвоив значение
DEFAULT.Если в
SELECTесть фразаLIMIT, тоLIMITимеет приоритет над значениемsql_select_limit. -
Переменная системы sql_warningsОбласть действия Глобальная, сеансовая Динамическая Да SET_VARПрименяется подсказкаНет Тип Булево Значение по умолчанию OFFЭта переменная управляет тем, генерирует ли оператор
INSERTс одной строкой строку информации, если возникли предупреждения. По умолчанию —OFF. Установите значение наON, чтобы получить строку информации.
-
Формат командной строки --ssl-ca=file_nameСистемная переменная ssl_caОбласть действия Глобальная Динамическая Да SET_VARПрименяется ли подсказкаНет Тип Имя файла Значение по умолчанию NULLИмя пути к файлу сертификата Центра сертификации (CA) в формате PEM. Файл содержит список доверенных центров сертификации SSL.
Эту переменную можно изменить во время выполнения, чтобы повлиять на контекст TLS, который сервер использует для новых подключений, установленных после выполнения
ALTER INSTANCE RELOAD TLSили после перезапуска, если значение переменной сохранилось. См. Конфигурация и мониторинг серверной стороны во время выполнения для шифрованных подключений. -
Формат командной строки --ssl-capath=dir_nameСистемная переменная ssl_capathОбласть действия Глобальная Динамическая Да SET_VARПрименяется ли подсказкаНет Тип Имя каталога Значение по умолчанию NULLИмя пути к каталогу, содержащему файлы сертификатов доверенных центров сертификации SSL (CA) в формате PEM.
Эту переменную можно изменить во время выполнения, чтобы повлиять на контекст TLS, который сервер использует для новых подключений, установленных после выполнения
ALTER INSTANCE RELOAD TLSили после перезапуска, если значение переменной сохранилось. См. Конфигурация и мониторинг серверной стороны во время выполнения для шифрованных подключений. -
Формат командной строки --ssl-cert=file_nameСистемная переменная ssl_certОбласть действия Глобальная Динамическая Да SET_VARПрименяется ли подсказкаНет Тип Имя файла Значение по умолчанию NULLИмя пути к файлу сертификата открытого ключа сервера SSL в формате PEM.
Если сервер запускается с
ssl_cert, настроенным на сертификат, использующий любой ограниченный шифр или категорию шифров, сервер запускается с отключенной поддержкой шифрованных подключений. Сведения об ограничениях шифров см. в разделе Конфигурация шифров подключения.Эту переменную можно изменить во время выполнения, чтобы повлиять на контекст TLS, который сервер использует для новых подключений, установленных после выполнения
ALTER INSTANCE RELOAD TLSили после перезапуска, если значение переменной сохранилось. См. Конфигурация и мониторинг серверной стороны во время выполнения для шифрованных подключений. -
Формат командной строки --ssl-cipher=nameСистемная переменная ssl_cipherОбласть действия Глобальная Динамическая Да SET_VARПрименяется ли подсказкаНет Тип Строка Значение по умолчанию NULLСписок разрешенных шифров шифрования для подключений, использующих TLSv1.2. Если ни один из шифров в списке не поддерживается, шифрованные подключения, использующие этот протокол TLS, не работают.
Список может включать следующие значения:
ECDHE-ECDSA-AES128-GCM-SHA256ECDHE-ECDSA-AES256-GCM-SHA384ECDHE-RSA-AES128-GCM-SHA256ECDHE-RSA-AES256-GCM-SHA384ECDHE-ECDSA-CHACHA20-POLY1305ECDHE-RSA-CHACHA20-POLY1305ECDHE-ECDSA-AES256-CCMECDHE-ECDSA-AES128-CCMDHE-RSA-AES128-GCM-SHA256DHE-RSA-AES256-GCM-SHA384DHE-RSA-AES256-CCMDHE-RSA-AES128-CCMDHE-RSA-CHACHA20-POLY1305
Попытка включить любые значения в список шифров, которые не показаны здесь при настройке этой переменной, вызывает ошибку.
Для максимальной переносимости список шифров должен быть списком одного или нескольких имён шифров, разделенных двоеточиями. Следующий пример показывает два имени шифров, разделённых двоеточием:
[mysqld] ssl_cipher="DHE-RSA-AES128-GCM-SHA256:AES128-SHA"
OpenSSL поддерживает синтаксис для указания шифров, описанный в документации OpenSSL по адресу https://www.openssl.org/docs/manmaster/man1/ciphers.html.
Сведения о поддерживаемых MySQL шифрах шифрования см. в разделе Раздел 8.3.2, «Протоколы и шифры TLS шифрованных подключений».
Эту переменную можно изменить во время выполнения, чтобы повлиять на контекст TLS, который сервер использует для новых подключений, установленных после выполнения
ALTER INSTANCE RELOAD TLSили после перезапуска, если значение переменной сохранилось. См. Конфигурация и мониторинг серверной стороны во время выполнения для шифрованных подключений. -
Формат командной строки --ssl-crl=file_nameСистемная переменная ssl_crlОбласть действия Глобальная Динамическая Да SET_VARПрименяется ли подсказкаНет Тип Имя файла Значение по умолчанию NULLИмя пути к файлу, содержащему списки аннулированных сертификатов в формате PEM.
Эту переменную можно изменить во время выполнения, чтобы повлиять на контекст TLS, который сервер использует для новых подключений, установленных после выполнения
ALTER INSTANCE RELOAD TLSили после перезапуска, если значение переменной сохранилось. См. Конфигурация и мониторинг серверной стороны во время выполнения для шифрованных подключений. -
Формат командной строки --ssl-crlpath=dir_nameСистемная переменная ssl_crlpathОбласть действия Глобальная Динамическая Да SET_VARПрименяется ли подсказкаНет Тип Имя каталога Значение по умолчанию NULLПуть к каталогу, содержащему файлы списков аннулированных сертификатов в формате PEM.
Эту переменную можно изменить во время выполнения, чтобы повлиять на контекст TLS, который сервер использует для новых подключений, установленных после выполнения
ALTER INSTANCE RELOAD TLSили после перезапуска, если значение переменной сохранилось. См. Конфигурация и мониторинг серверной стороны во время выполнения для шифрованных подключений.
-
Формат командной строки --ssl-fips-mode={OFF|ON|STRICT}Устаревший Да Системная переменная ssl_fips_modeОбласть видимости Глобальная Динамический Нет SET_VARПодсказка применяетсяНет Тип Перечисление Значение по умолчанию OFFДопустимые значения OFF(или 0)ON(или 1)STRICT(или 2)Управляет включением режима FIPS на стороне сервера. Системная переменная
ssl_fips_modeотличается от других системных переменныхssl_тем, что она не используется для управления тем, разрешает ли сервер зашифрованные соединения, а скорее для того, чтобы повлиять на то, какие криптографические операции разрешены. См. Раздел 8.8, «Поддержка FIPS».xxxДопускаются следующие значения
ssl_fips_mode:OFF(или 0): Отключить режим FIPS.ON(или 1): Включить режим FIPS.STRICT(или 2): Включить строгий режим “строгий” FIPS.
ПримечаниеЕсли модуль OpenSSL FIPS Object недоступен, единственным допустимым значением для
ssl_fips_modeявляетсяOFF. В этом случае установкаssl_fips_modeв значениеONилиSTRICTпри запуске приводит к тому, что сервер выдает сообщение об ошибке и завершает работу.Этот параметр устарел и стал доступен только для чтения. Ожидается, что он будет удален в будущей версии MySQL.
-
Формат командной строки --ssl-key=file_nameСистемная переменная ssl_keyОбласть видимости Глобальная Динамический Да SET_VARПодсказка применяетсяНет Тип Имя файла Значение по умолчанию NULLИмя пути к файлу закрытого ключа сервера SSL в формате PEM. Для повышения безопасности используйте сертификат с размером ключа RSA не менее 2048 бит.
Если файл ключа защищен парольной фразой, сервер запрашивает у пользователя парольную фразу. Пароль должен быть введен интерактивно; он не может храниться в файле. Если парольная фраза неверна, программа продолжает работу, как если бы она не могла прочитать ключ.
Эта переменная может быть изменена во время выполнения, чтобы повлиять на контекст TLS, который сервер использует для новых соединений, установленных после выполнения
ALTER INSTANCE RELOAD TLSили после перезапуска, если значение переменной было сохранено. См. Конфигурацию и мониторинг времени выполнения на стороне сервера для зашифрованных соединений. -
Формат командной строки --ssl_session_cache_mode={ON|OFF}Системная переменная ssl_session_cache_modeОбласть видимости Глобальная Динамический Да SET_VARПодсказка применяетсяНет Тип Булево Значение по умолчанию ONДопустимые значения ONOFFУправляет включением кэша сеансов в памяти на стороне сервера и генерацией билетов сеанса сервером. Режим по умолчанию —
ON(включить режим кэша сеансов). Изменение системной переменнойssl_session_cache_modeвступает в силу только после выполнения оператораALTER INSTANCE RELOAD TLSили после перезапуска, если значение переменной было сохранено.Допускаются следующие значения
ssl_session_cache_mode:ON: Включить режим кэша сеансов.OFF: Отключить режим кэша сеансов.
Сервер не объявляет о своей поддержке возобновления сеанса, если значение этой системной переменной равно
OFF. При работе на OpenSSL 1.0.xбилеты сеанса всегда генерируются, но билеты не могут использоваться, когдаssl_session_cache_modeвключен.Текущее действующее значение для
ssl_session_cache_modeможно наблюдать с помощью переменной состоянияSsl_session_cache_mode. -
Формат командной строки --ssl_session_cache_timeoutСистемная переменная ssl_session_cache_timeoutОбласть видимости Глобальная Динамический Да SET_VARПодсказка применяетсяНет Тип Целое число Значение по умолчанию 300Минимальное значение 0Максимальное значение 84600Единица измерения секунды Устанавливает период времени, в течение которого разрешено повторное использование предыдущего сеанса при установлении нового зашифрованного соединения с сервером, при условии, что системная переменная
ssl_session_cache_modeвключена и доступны данные предыдущего сеанса. Если время ожидания сеанса истекло, сеанс больше не может быть повторно использован.Значение по умолчанию равно 300 секундам, а максимальное значение равно 84600 (или один день в секундах). Изменение системной переменной
ssl_session_cache_timeoutвступает в силу только после выполнения оператораALTER INSTANCE RELOAD TLSили после перезапуска, если значение переменной было сохранено. Текущее действующее значение дляssl_session_cache_timeoutможно наблюдать с помощью переменной состоянияSsl_session_cache_timeout. -
Системная переменная statement_idОбласть видимости Сеанс Динамический Нет SET_VARПодсказка применяетсяНет Тип Целое число Каждому оператору, выполняемому в текущем сеансе, присваивается порядковый номер. Это можно использовать вместе с системной переменной
session_track_system_variablesдля идентификации этого оператора в таблицах Performance Schema, таких как таблицаevents_statements_history.
-
Формат командной строки --stored-program-cache=#Переменная системы stored_program_cacheОбласть действия Глобальная Динамическая Да SET_VARПрименяется ли подсказкаНет Тип Целое число Значение по умолчанию 256Минимальное значение 16Максимальное значение 524288Устанавливает мягкое верхнее ограничение для числа кэшированных хранимых процедур на соединение. Значение этой переменной указывается в виде количества хранимых процедур, хранящихся в каждом из двух кэшей, поддерживаемых сервером MySQL для хранимых процедур и хранимых функций соответственно.
При выполнении хранимой процедуры размер этого кэша проверяется перед разбором первого или верхнего уровня оператора в процедуре; если количество процедур одного типа (хранимые процедуры или хранимые функции в зависимости от выполняемой) превышает предел, заданный этой переменной, соответствующий кэш очищается, и освобождается память, ранее выделенная для кэшированных объектов. Это позволяет безопасно очистить кэш, даже если между хранимыми процедурами существуют зависимости.
Кэши хранимых процедур и хранимых функций существуют параллельно с кэшем определения хранимых программ. Кэши хранимых процедур и функций относятся к каждому соединению, в то время как кэш определения хранимых программ общий. Существование объектов в кэшах хранимых процедур и хранимых функций не зависит от существования объектов в кэше определения хранимых программ, и наоборот. Для получения дополнительной информации см. Раздел 16.4, «Кэш объектов словаря данных».
-
stored_program_definition_cacheФормат командной строки --stored-program-definition-cache=#Переменная системы stored_program_definition_cacheОбласть действия Глобальная Динамическая Да SET_VARПрименяется ли подсказкаНет Тип Целое число Значение по умолчанию 256Минимальное значение 256Максимальное значение 524288Определяет предел количества объектов определения хранимых программ, используемых и неиспользуемых, которые могут храниться в кэше объектов словаря.
Неиспользуемые объекты определения хранимых программ хранятся в кэше объектов словаря только тогда, когда количество используемых объектов меньше емкости, определенной
stored_program_definition_cache.Значение 0 означает, что объекты определения хранимых программ хранятся в кэше объектов словаря только во время их использования.
Раздел кэша определения хранимых программ существует параллельно с кэшами хранимых процедур и хранимых функций, настроенных с помощью параметра
stored_program_cache.Параметр
stored_program_cacheустанавливает мягкое верхнее ограничение для числа кэшированных хранимых процедур или функций на соединение, и ограничение проверяется каждый раз, когда соединение выполняет хранимую процедуру или функцию. Раздел кэша определения хранимых программ, с другой стороны, является общим кэшем, хранящим объекты определения хранимых программ для других целей. Существование объектов в разделе кэша определения хранимых программ не зависит от существования объектов в кэше хранимых процедур или кэше хранимых функций, и наоборот.Для получения дополнительной информации см. Раздел 16.4, «Кэш объектов словаря данных».
-
Формат командной строки --super-read-only[={OFF|ON}]Переменная системы super_read_onlyОбласть действия Глобальная Динамическая Да SET_VARПрименяется ли подсказкаНет Тип Булево Значение по умолчанию OFFЕсли переменная системы
read_onlyвключена, сервер разрешает только клиентские обновления от пользователей, имеющих привилегиюCONNECTION_ADMIN(или устаревшую привилегиюSUPER). Если также включена переменная системыsuper_read_only, сервер запрещает обновления клиентов даже от пользователей, имеющих привилегиюCONNECTION_ADMINилиSUPER. См. описание переменной системыread_onlyдля описания режима только для чтения и информации о взаимодействииread_onlyиsuper_read_only.Клиентские обновления, предотвращённые при включении
super_read_only, включают операции, которые, возможно, не кажутся обновлениями, например,CREATE FUNCTION(для установки загружаемой функции),INSTALL PLUGINиINSTALL COMPONENT. Эти операции запрещены, так как они подразумевают изменения в схеме системыmysql.Аналогично, если планировщик событий включён, включение переменной системы
super_read_onlyпрепятствует обновлению временных меток «последнего выполнения» событий в таблице словаря данныхevents. Это приводит к остановке планировщика событий в следующий раз, когда он попытается выполнить запланированное событие, после записи сообщения в журнал ошибок сервера. (В этой ситуации переменная системыevent_schedulerне меняется со значенияONнаOFF. Последствие заключается в том, что эта переменная отклоняет намерение DBA включить или отключить планировщик событий, где его фактическое состояние запущен/остановлен может отличаться.). Если переменнаяsuper_read_onlyбудет отключена после включения, сервер автоматически перезапустит планировщик событий при необходимости.Изменения в
super_read_onlyна сервере-источнике репликации не реплицируются на сервера-репликации. Значение может быть установлено на реплике независимо от настроек на источнике. -
Формат командной строки --syseventlog.facility=valueПеременная системы syseventlog.facilityОбласть действия Глобальная Динамическая Да SET_VARПрименяется ли подсказкаНет Тип Строка Значение по умолчанию daemonОбласть, для вывода записей в журнал ошибок, записанных в
syslog(какой тип программы отправляет сообщение). Эта переменная недоступна, если компонент журнала ошибокlog_sink_syseventlogне установлен. См. Раздел 7.4.2.8, «Ведение журнала ошибок в системный журнал».Допустимые значения могут варьироваться в зависимости от операционной системы; см. документацию вашей системы
syslog.Эта переменная не существует в Windows.
-
Формат командной строки --syseventlog.include-pid[={OFF|ON}]Переменная системы syseventlog.include_pidОбласть действия Глобальная Динамическая Да SET_VARПрименяется ли подсказкаНет Тип Булево Значение по умолчанию ONВключать ли идентификатор процесса сервера в каждую строку вывода журнала ошибок, записываемого в
syslog. Эта переменная недоступна, если компонент журнала ошибокlog_sink_syseventlogне установлен. См. Раздел 7.4.2.8, «Ведение журнала ошибок в системный журнал».Эта переменная не существует в Windows.
-
Формат командной строки --syseventlog.tag=tagСистемная переменная syseventlog.tagОбласть действия Глобальная Динамическая Да SET_VARПрименяется подсказкаНет Тип Строка Значение по умолчанию empty stringТег, добавляемый к идентификатору сервера в выходных данных журнала ошибок, записываемых в
syslogили Журнал событий Windows. Эта переменная недоступна, если компонент журнала ошибокlog_sink_syseventlogне установлен. См. Раздел 7.4.2.8, «Журналирование ошибок в системный журнал».По умолчанию тег не задан, поэтому идентификатор сервера просто
MySQLв Windows иmysqldна других платформах. Если указано значение тегаtag, оно добавляется к идентификатору сервера с префиксом дефис, что приводит к идентификатору сервераsyslogс идентификаторомmysqld-(илиtagMySQL-в Windows).tagВ Windows, чтобы использовать тег, которого ещё нет, сервер должен запускаться от учётной записи с правами администратора, чтобы разрешить создание записи реестра для тега. Повышенные права не требуются, если тег уже существует.
-
Системная переменная system_time_zoneОбласть действия Глобальная Динамическая Нет SET_VARПрименяется подсказкаНет Тип Строка Временная зона сервера. При запуске сервера он наследует настройку временной зоны от системных настроек компьютера, возможно, изменённую окружением учётной записи, используемой для запуска сервера, или скриптом запуска. Значение используется для установки
system_time_zone. Для явного указания системной временной зоны задайте переменную окруженияTZили используйте опцию--timezoneскрипта mysqld_safe.Помимо инициализации во время запуска, если временная зона хоста сервера меняется (например, из-за перехода на летнее время),
system_time_zoneотражает это изменение, что имеет такие последствия для приложений:Запросы, ссылающиеся на
system_time_zone, получат одно значение до перехода на летнее время и другое значение после перехода.Для запросов, которые начинают выполняться до перехода на летнее время и заканчиваются после перехода,
system_time_zoneостаётся постоянным в рамках запроса, так как значение обычно кэшируется в начале выполнения.
Переменная
system_time_zoneотличается от переменнойtime_zone. Хотя они могут иметь одинаковое значение, последняя переменная используется для инициализации временной зоны для каждого подключённого клиента. См. Раздел 7.1.15, «Поддержка временных зон в MySQL-сервере». -
Формат командной строки --table-definition-cache=#Системная переменная table_definition_cacheОбласть действия Глобальная Динамическая Да SET_VARПрименяется подсказкаНет Тип Целое число Значение по умолчанию -1(указывает автоматическое изменение размера; не присваивайте это значение)Минимальное значение 400Максимальное значение 524288Количество определений таблиц, которые могут храниться в кэше определений таблиц. Если вы используете большое количество таблиц, вы можете создать большой кэш определений таблиц, чтобы ускорить открытие таблиц. Кэш определений таблиц занимает меньше места и не использует дескрипторы файлов, в отличие от обычного кэша таблиц. Минимальное значение равно 400. Значение по умолчанию основано на следующей формуле, ограниченной пределом 2000:
MIN(400 + table_open_cache / 2, 2000)
Для
InnoDBнастройкаtable_definition_cacheслужит мягким ограничением для количества экземпляров таблиц в кэше объектов словаря и количества табличных пространств файлов-по-таблице, которые могут быть открыты одновременно.Если количество экземпляров таблиц в кэше объектов словаря превышает предел
table_definition_cache, механизм LRU начинает помечать экземпляры таблиц для удаления и в конечном итоге удаляет их из кэша объектов словаря.Количество открытых таблиц с кэшированными метаданными может быть выше предела
table_definition_cacheиз-за экземпляров таблиц с отношениями внешних ключей, которые не помещаются в список LRU.Количество открытых табличных пространств файлов-по-таблице ограничено настройками
table_definition_cacheиinnodb_open_files. Если обе переменные установлены, используется наибольшее значение. Если ни одна переменная не установлена, используется настройкаtable_definition_cache, имеющая более высокое значение по умолчанию. Если количество открытых табличных пространств превышает предел, определённыйtable_definition_cacheилиinnodb_open_files, механизм LRU проверяет список LRU на предмет файлов табличного пространства, которые полностью очищены и в данный момент не расширяются. Этот процесс выполняется каждый раз при открытии нового табличного пространства. Закрываются только неактивные табличные пространства.Кэш определений таблиц существует параллельно с разделами кэша определений таблиц в . Оба кэша хранят определения таблиц, но обслуживают разные части MySQL-сервера. Объекты в одном кэше не зависят от существования объектов в другом. Дополнительную информацию см. в Разделе 16.4, «Кэш объектов словаря».
-
table_encryption_privilege_checkФормат командной строки --table-encryption-privilege-check[={OFF|ON}]Системная переменная table_encryption_privilege_checkОбласть действия Глобальная Динамическая Да SET_VARПрименяется подсказкаНет Тип Булево Значение по умолчанию OFFУправляет проверкой привилегий
TABLE_ENCRYPTION_ADMIN, которая выполняется при создании или изменении схемы или общего табличного пространства с шифрованием, отличающимся от настройкиdefault_table_encryption, или при создании или изменении таблицы с настройкой шифрования, отличающейся от шифрования схемы по умолчанию. По умолчанию проверка отключена.Установка
table_encryption_privilege_checkво время выполнения требует привилегииSUPER.table_encryption_privilege_checkподдерживает синтаксисSET PERSISTиSET PERSIST_ONLY. См. Раздел 7.1.9.3, «Постоянные системные переменные».Для получения дополнительной информации см. Определение значения шифрования по умолчанию для схем и общих табличных пространств.
-
Формат командной строки --table-open-cache=#Системная переменная table_open_cacheОбласть видимости Глобальная Динамическая Да SET_VARПодсказка применимаНет Тип Целое число Значение по умолчанию 4000Минимальное значение 1Максимальное значение 524288Количество открытых таблиц для всех потоков. Увеличение этого значения увеличивает количество дескрипторов файлов, необходимых для mysqld. Эффективное значение этой переменной является большим из эффективного значения
open_files_limit- 10 -эффективного значенияmax_connections/ 2и 400; то естьMAX( (open_files_limit - 10 - max_connections) / 2, 400 )Вы можете проверить, нужно ли увеличивать кэш таблиц, проверив переменную состояния
Opened_tables. Если значениеOpened_tablesвелико, и вы не часто используетеFLUSH TABLES(что просто заставляет все таблицы закрываться и открываться заново), то вам следует увеличить значение переменнойtable_open_cache. Для получения дополнительной информации о кэше таблиц см. Раздел 10.4.3.1, «Как MySQL открывает и закрывает таблицы». -
Формат командной строки --table-open-cache-instances=#Системная переменная table_open_cache_instancesОбласть видимости Глобальная Динамическая Нет SET_VARПодсказка применимаНет Тип Целое число Значение по умолчанию 16Минимальное значение 1Максимальное значение 64Количество экземпляров кэша открытых таблиц. Для повышения масштабируемости за счет уменьшения конкуренции между сессиями кэш открытых таблиц может быть разбит на несколько меньших экземпляров кэша размером
table_open_cache/table_open_cache_instances. Сессии нужно заблокировать только один экземпляр, чтобы получить к нему доступ для операторов DML. Это сегментирует доступ к кэшу между экземплярами, что позволяет повысить производительность операций, использующих кэш, когда много сессий обращаются к таблицам. (Операторы DDL по-прежнему требуют блокировки всего кэша, но такие операторы встречаются гораздо реже, чем операторы DML.)На системах, которые обычно используют 16 или более ядер, рекомендуется значение 8 или 16. Однако, если у вас много больших триггеров в ваших таблицах, которые вызывают высокую загрузку памяти, то значение по умолчанию для
table_open_cache_instancesможет привести к чрезмерному использованию памяти. В этой ситуации может быть полезно установитьtable_open_cache_instancesв 1, чтобы ограничить использование памяти. -
Формат командной строки --tablespace-definition-cache=#Системная переменная tablespace_definition_cacheОбласть видимости Глобальная Динамическая Да SET_VARПодсказка применимаНет Тип Целое число Значение по умолчанию 256Минимальное значение 256Максимальное значение 524288Определяет лимит для количества объектов определения табличного пространства, как используемых, так и неиспользуемых, которые могут храниться в кэше объектов словаря.
Неиспользуемые объекты определения табличного пространства хранятся в кэше объектов словаря только тогда, когда количество используемых объектов меньше емкости, определяемой
tablespace_definition_cache.Значение
0означает, что объекты определения табличного пространства хранятся в кэше объектов словаря только во время их использования.Для получения дополнительной информации см. Раздел 16.4, «Кэш объектов словаря».
-
Формат командной строки --temptable-max-mmap=#Системная переменная temptable_max_mmapОбласть видимости Глобальная Динамическая Да SET_VARПодсказка применимаНет Тип Целое число Значение по умолчанию 0Минимальное значение 0Максимальное значение 2^64-1Единица измерения байты Определяет максимальный объем памяти (в байтах), который механизм хранения TempTable может выделить из файлов временных файлов с отображением в памяти, прежде чем он начнет сохранять данные в
InnoDBвнутренние временные таблицы на диске. Значение 0 (по умолчанию) отключает выделение памяти из временных файлов с отображением в памяти. Для получения дополнительной информации см. Раздел 10.4.4, «Использование внутренних временных таблиц в MySQL».До MySQL 8.4 этот параметр был установлен в 1 GiB вместо 0.
-
Формат командной строки --temptable-max-ram=#Системная переменная temptable_max_ramОбласть видимости Глобальная Динамическая Да SET_VARПодсказка применимаНет Тип Целое число Значение по умолчанию 3% of total memory: min 1 GB, max 4 GBМинимальное значение 2097152Максимальное значение 2^64-1Единица измерения байты Определяет максимальный объем памяти, который может занимать механизм хранения
TempTable, прежде чем он начнет сохранять данные на диск. Значение по умолчанию составляет 3% от общего объема доступной памяти на сервере, с минимальным и максимальным диапазоном по умолчанию 1–4 GiB. Для получения дополнительной информации см. Раздел 10.4.4, «Использование внутренних временных таблиц в MySQL».До MySQL 8.4 значение по умолчанию всегда было 1 GiB.
-
Формат командной строки --temptable-use-mmap[={OFF|ON}]Устарело Да Системная переменная temptable_use_mmapОбласть видимости Глобальная Динамическая Да SET_VARПодсказка применимаНет Тип Логическое Значение по умолчанию OFFОпределяет, выделяет ли механизм хранения TempTable место для внутренних временных таблиц в памяти в виде временных файлов с отображением в памяти, когда объем памяти, занимаемый механизмом хранения TempTable, превышает лимит, определяемый переменной
temptable_max_ram. Когдаtemptable_use_mmapотключен (по умолчанию), механизм хранения TempTable используетInnoDBвнутренние временные таблицы на диске. Для получения дополнительной информации см. Раздел 10.4.4, «Использование внутренних временных таблиц в MySQL».
-
Формат командной строки --thread-cache-size=#Системная переменная thread_cache_sizeОбласть видимости Глобальная Динамическая Да SET_VARПодсказка применяетсяНет Тип Целое число Значение по умолчанию -1(обозначает автоматическое изменение размера; не присваивайте это литеральное значение)Минимальное значение 0Максимальное значение 16384Сколько потоков сервер должен кэшировать для повторного использования. Когда клиент отключается, потоки клиента помещаются в кэш, если там меньше, чем
thread_cache_sizeпотоков. Запросы на потоки удовлетворяются за счет повторного использования потоков, взятых из кэша, если это возможно, и только когда кэш пуст, создается новый поток. Эту переменную можно увеличить для повышения производительности, если у вас много новых соединений. Обычно это не дает заметного повышения производительности, если у вас хорошая реализация потоков. Однако, если ваш сервер обрабатывает сотни соединений в секунду, вам обычно следует установитьthread_cache_sizeдостаточно большим, чтобы большинство новых соединений использовали кэшированные потоки. Изучив разницу между переменными состоянияConnectionsиThreads_created, вы можете увидеть, насколько эффективен кэш потоков. Подробнее см. Раздел 7.1.10, «Переменные состояния сервера».Значение по умолчанию основано на следующей формуле, ограниченной лимитом в 100:
8 + (max_connections / 100)
-
Формат командной строки --thread-handling=nameСистемная переменная thread_handlingОбласть видимости Глобальная Динамическая Нет SET_VARПодсказка применяетсяНет Тип Перечисление Значение по умолчанию one-thread-per-connectionДопустимые значения no-threadsone-thread-per-connectionloaded-dynamicallyМодель обработки потоков, используемая сервером для потоков соединений. Допустимые значения:
no-threads(сервер использует один поток для обработки одного соединения),one-thread-per-connection(сервер использует один поток для обработки каждого клиентского соединения) иloaded-dynamically(устанавливается плагином пула потоков при его инициализации).no-threadsполезно для отладки в Linux; см. Раздел 7.9, «Отладка MySQL». -
Формат командной строки --thread-pool-algorithm=#Системная переменная thread_pool_algorithmОбласть видимости Глобальная Динамическая Нет SET_VARПодсказка применяетсяНет Тип Целое число Значение по умолчанию 0Минимальное значение 0Максимальное значение 1Эта переменная управляет тем, какой алгоритм использует плагин пула потоков:
0: Использовать консервативный алгоритм с низкой степенью параллелизма.1: Использовать агрессивный алгоритм с высокой степенью параллелизма, который работает лучше с оптимальным количеством потоков, но производительность может снизиться, если количество соединений достигнет очень высоких значений.
Эта переменная доступна только в том случае, если включен плагин пула потоков. См. Раздел 7.6.3, «Пул потоков MySQL Enterprise».
-
thread_pool_dedicated_listenersФормат командной строки --thread-pool-dedicated-listenersСистемная переменная thread_pool_dedicated_listenersОбласть видимости Глобальная Динамическая Нет SET_VARПодсказка применяетсяНет Тип Булево Значение по умолчанию OFFВыделяет поток прослушивателя в каждой группе потоков для прослушивания входящих инструкций от соединений, назначенных группе.
OFF: (По умолчанию) Отключает выделенные потоки прослушивателя.ON: Выделяет поток прослушивателя в каждой группе потоков для прослушивания входящих инструкций от соединений, назначенных группе. Выделенные потоки прослушивателя не выполняют запросы.
Включение
thread_pool_dedicated_listenersполезно только тогда, когда предел транзакций определяетсяthread_pool_max_transactions_limit. В противном случаеthread_pool_dedicated_listenersне следует включать.Служба HeatWave использует эту переменную, которая доступна только в MySQL Enterprise Edition и не поддерживается в MySQL 8.4.
-
thread_pool_high_priority_connectionФормат командной строки --thread-pool-high-priority-connection=#Системная переменная thread_pool_high_priority_connectionОбласть видимости Глобальная, сеанса Динамическая Да SET_VARПодсказка применяетсяНет Тип Целое число Значение по умолчанию 0Минимальное значение 0Максимальное значение 1Эта переменная влияет на очереди новых инструкций перед выполнением. Если значение равно 0 (ложь, по умолчанию), очередь инструкций использует как очереди низкого приоритета, так и высокого приоритета. Если значение равно 1 (истина), помещенные в очередь инструкции всегда переходят в очередь высокого приоритета.
Эта переменная доступна только в том случае, если включен плагин пула потоков. См. Раздел 7.6.3, «Пул потоков MySQL Enterprise».
-
Формат командной строки --thread-pool-longrun-trx-limit=#Системная переменная thread_pool_longrun_trx_limitОбласть видимости Глобальная Динамическая Да SET_VARПодсказка применяетсяНет Тип Целое число Значение по умолчанию 2000Минимальное значение 10Максимальное значение 60*60*24Единица измерения мс Когда используется
thread_pool_max_transactions_limit, существует максимальное количество транзакций, которые могут быть активны в каждой группе потоков. Если все доступное количество используется долго работающими транзакциями, любая дополнительная транзакция, назначенная группе, блокируется до завершения одной из долго работающих транзакций, что пользователи могут воспринимать как необъяснимый зависание.Чтобы смягчить эту проблему, ограничение для данной группы потоков приостанавливается, если все потоки, использующие максимальное количество транзакций, выполнялись дольше, чем интервал (в миллисекундах), указанный
thread_pool_longrun_trx_limit. Когда количество долго работающих транзакций уменьшается,thread_pool_max_transactions_limitможет быть (и будет) снова включено. Для этого количество текущих транзакций должно быть меньшеthread_pool_max_transactions_limit / 2для интервала, определенного как показано:MIN( MAX(thread_pool_longrun_trx_limit * 15, 5000), 30000)
Эта переменная доступна только в том случае, если включен плагин пула потоков. См. Раздел 7.6.3, «Пул потоков MySQL Enterprise».
-
thread_pool_max_active_query_threadsФормат командной строки --thread-pool-max-active-query-threadsПеременная системы thread_pool_max_active_query_threadsОбласть действия Глобальная Динамическая Да SET_VARПрименяется ли подсказкаНет Тип Целое число Значение по умолчанию 0Минимальное значение 0Максимальное значение 512Максимальное допустимое количество активных (запущенных) потоков запросов в группе. Если значение равно 0, плагин пула потоков использует до максимально возможного числа потоков.
Эта переменная доступна только если плагин пула потоков включен. См. Раздел 7.6.3, «Пул потоков MySQL Enterprise».
-
thread_pool_max_transactions_limitФормат командной строки --thread-pool-max-transactions-limitПеременная системы thread_pool_max_transactions_limitОбласть действия Глобальная Динамическая Да SET_VARПрименяется ли подсказкаНет Тип Целое число Значение по умолчанию 0Минимальное значение 0Максимальное значение 1000000Максимальное число транзакций, разрешенных плагином пула потоков. Определение лимита транзакций связывает поток с транзакцией до ее подтверждения, что помогает стабилизировать пропускную способность при высокой конкурентности.
Значение по умолчанию 0 означает, что ограничения на транзакции нет. Переменная динамическая, но ее нельзя изменить с 0 на более высокое значение во время выполнения и наоборот. ненулевое значение при запуске позволяет динамическую настройку во время выполнения. Для настройки
thread_pool_max_transactions_limitво время выполнения требуется привилегияCONNECTION_ADMIN.При определении лимита транзакций включение
thread_pool_dedicated_listenersсоздаёт отдельный поток слушателя в каждой группе потоков. Дополнительный выделенный поток слушателя потребляет больше ресурсов и влияет на производительность пула потоков. Поэтомуthread_pool_dedicated_listenersследует использовать с осторожностью.Когда предел, определенный
thread_pool_max_transactions_limit, достигнут, новые подключения или транзакции по существующим подключениям могут зависнуть до завершения одной или нескольких существующих транзакций. В многих случаях можно устранить эту проблему, установивthread_pool_longrun_trx_limit, чтобы максимально увеличить транзакцию, когда количество текущих транзакций соответствует ей в течение заданного периода времени. Если существующие подключения по-прежнему блокируются или работают долго даже после попытки этого, возможно, потребуется привилегированное подключение для доступа к серверу, чтобы увеличить предел, удалить предел или завершить запущенные транзакции. См. Привилегированные подключения.Сервис HeatWave использует эту переменную, которая доступна только с MySQL Enterprise Edition и не поддерживается в MySQL 8.4.
-
thread_pool_max_unused_threadsФормат командной строки --thread-pool-max-unused-threads=#Переменная системы thread_pool_max_unused_threadsОбласть действия Глобальная Динамическая Да SET_VARПрименяется ли подсказкаНет Тип Целое число Значение по умолчанию 0Минимальное значение 0Максимальное значение 4096Максимальное допустимое количество неиспользуемых потоков в пуле потоков. Эта переменная позволяет ограничить объем памяти, используемый спящими потоками.
Значение 0 (по умолчанию) означает отсутствие ограничения на количество спящих потоков. Значение
N, гдеNбольше 0, означает 1 поток-потребитель иN−1 резервных потоков. В этом случае, если поток готов перейти в состояние ожидания, но количество спящих потоков уже достигло максимума, поток завершается, а не переходит в состояние ожидания.Спящий поток находится либо в состоянии ожидания как поток-потребитель, либо как резервный поток. Пул потоков разрешает один поток быть потоком-потребителем при ожидании. Если поток переходит в состояние ожидания, и нет существующего потока-потребителя, он ожидает как поток-потребитель. Когда поток необходимо разбудить, выбирается поток-потребитель, если он есть. Резервный поток выбирается только в случае отсутствия потока-потребителя для пробуждения.
Эта переменная доступна только если плагин пула потоков включен. См. Раздел 7.6.3, «Пул потоков MySQL Enterprise».
-
Формат командной строки --thread-pool-prio-kickup-timer=#Переменная системы thread_pool_prio_kickup_timerОбласть действия Глобальная Динамическая Да SET_VARПрименяется ли подсказкаНет Тип Целое число Значение по умолчанию 1000Минимальное значение 0Максимальное значение 4294967294Единица измерения миллисекунды Эта переменная влияет на запросы, ожидающие выполнения в очереди низкого приоритета. Значение — количество миллисекунд до перемещения ожидающего запроса в очередь высокого приоритета. Значение по умолчанию — 1000 (1 секунда).
Эта переменная доступна только если плагин пула потоков включен. См. Раздел 7.6.3, «Пул потоков MySQL Enterprise».
-
thread_pool_query_threads_per_groupФормат командной строки --thread-pool-query-threads-per-groupПеременная системы thread_pool_query_threads_per_groupОбласть действия Глобальная Динамическая Да SET_VARПрименяется ли подсказкаНет Тип Целое число Значение по умолчанию 1Минимальное значение 1Максимальное значение 4096Максимальное число потоков запросов, разрешенных в группе потоков. Максимальное значение — 4096, но если
thread_pool_max_transactions_limitустановлено,thread_pool_query_threads_per_groupне должно превышать этого значения.Значение по умолчанию 1 означает, что в каждой группе потоков имеется один активный поток запросов, что хорошо подходит для многих нагрузок. Если у вас используются алгоритмы пула потоков высокой конкуренции (
thread_pool_algorithm = 1), рассмотрите возможность увеличения значения, если вы сталкиваетесь с замедлением отклика из-за длительных транзакций.Для настройки
thread_pool_query_threads_per_groupво время выполнения требуется привилегияCONNECTION_ADMIN.Если вы уменьшите значение
thread_pool_query_threads_per_groupво время выполнения, текущие выполняемые пользовательские запросы допускаются до завершения, а затем перемещаются в резервный пул или завершаются. Если вы увеличиваете значение во время выполнения, и группе потоков нужны дополнительные потоки, они берутся из резервного пула, если это возможно, в противном случае создаются новые.Сервис HeatWave использует эту переменную, которая доступна только с MySQL Enterprise Edition и не поддерживается в MySQL 8.4.
-
Формат командной строки --thread-pool-size=#Системная переменная thread_pool_sizeОбласть видимости Глобальная Динамическая Нет SET_VARПодсказка применяетсяНет Тип Целое число Значение по умолчанию 16Минимальное значение 1Максимальное значение 512Количество групп потоков в пуле потоков. Это наиболее важный параметр, определяющий производительность пула потоков. Он влияет на то, сколько инструкций может выполняться одновременно. Если указано значение, выходящее за пределы допустимого диапазона, плагин пула потоков не загружается, и сервер записывает сообщение в журнал ошибок.
Эта переменная доступна только в том случае, если включен плагин пула потоков. См. Раздел 7.6.3, «Пул потоков MySQL Enterprise».
-
Формат командной строки --thread-pool-stall-limit=#Системная переменная thread_pool_stall_limitОбласть видимости Глобальная Динамическая Да SET_VARПодсказка применяетсяНет Тип Целое число Значение по умолчанию 6Минимальное значение 4Максимальное значение 600Единица измерения миллисекунды * 10 Эта переменная влияет на выполнение инструкций. Значение представляет собой количество времени, которое инструкция должна завершиться после начала выполнения, прежде чем она будет определена как зависшая, после чего пул потоков разрешает группе потоков начать выполнение другой инструкции. Значение измеряется в единицах по 10 миллисекунд, поэтому значение по умолчанию 6 означает 60 мс. Короткие значения ожидания позволяют потокам запускаться быстрее. Короткие значения также лучше для предотвращения ситуаций взаимной блокировки. Длинные значения ожидания полезны для рабочих нагрузок, которые включают длительные инструкции, чтобы избежать запуска слишком большого количества новых инструкций, пока выполняются текущие.
Эта переменная доступна только в том случае, если включен плагин пула потоков. См. Раздел 7.6.3, «Пул потоков MySQL Enterprise».
-
Формат командной строки --thread-pool-transaction-delayСистемная переменная thread_pool_transaction_delayОбласть видимости Глобальная Динамическая Да SET_VARПодсказка применяетсяНет Тип Целое число Значение по умолчанию 0Минимальное значение 0Максимальное значение 300000Период задержки перед выполнением новой транзакции в миллисекундах. Максимальное значение — 300000 (5 минут).
Задержка транзакции может использоваться в случаях, когда параллельные транзакции влияют на производительность других операций из-за конкуренции за ресурсы. Например, если параллельные транзакции влияют на создание индекса или операцию изменения размера буферного пула онлайн, можно настроить задержку транзакции, чтобы уменьшить конкуренцию за ресурсы во время выполнения этих операций.
Рабочие потоки спят в течение количества миллисекунд, указанных
thread_pool_transaction_delayперед выполнением новой транзакции.Настройка
thread_pool_transaction_delayне влияет на запросы, выданные из привилегированного соединения (соединение, назначенное группе потоковAdmin). Эти запросы не подвержены настроенной задержке транзакции. -
Формат командной строки --thread-stack=#Системная переменная thread_stackОбласть видимости Глобальная Динамическая Нет SET_VARПодсказка применяетсяНет Тип Целое число Значение по умолчанию 1048576Минимальное значение 131072Максимальное значение (64-битные платформы) 18446744073709550592Максимальное значение (32-битные платформы) 4294966272Единица измерения байты Размер блока 1024Размер стека для каждого потока. Значение по умолчанию достаточно велико для нормальной работы. Если размер стека потока слишком мал, это ограничивает сложность инструкций SQL, которые может обрабатывать сервер, глубину рекурсии хранимых процедур и другие действия, потребляющие много памяти.
-
Системная переменная time_zoneОбласть видимости Глобальная, сеанса Динамическая Да SET_VARПодсказка применяетсяДа Тип Строка Значение по умолчанию SYSTEMМинимальное значение -13:59Максимальное значение +14:00Текущий часовой пояс. Эта переменная используется для инициализации часового пояса для каждого клиента, который подключается. По умолчанию начальное значение этого равно
'SYSTEM'(что означает “использовать значениеsystem_time_zone”). Значение может быть указано явно при запуске сервера с помощью параметра--default-time-zone. См. Раздел 7.1.15, «Поддержка часовых поясов сервера MySQL».ПримечаниеЕсли установлено значение
SYSTEM, каждый вызов функции MySQL, требующий вычисления часового пояса, выполняет вызов системной библиотеки для определения текущего системного часового пояса. Этот вызов может быть защищен глобальным мьютексом, что приводит к конкуренции.
-
Системная переменная timestampОбласть видимости Сессия Динамическая Да SET_VARПодсказка применяетсяДа Тип Числовой Значение по умолчанию UNIX_TIMESTAMP()Минимальное значение 1Максимальное значение 2147483647Устанавливает время для этого клиента. Это используется для получения исходного временного штампа, если вы используете бинарный журнал для восстановления строк.
timestamp_valueдолжно быть временным штампом Unix-эпохи (значение, подобное возвращаемомуUNIX_TIMESTAMP(), а не значение в формате') илиYYYY-MM-DD hh:mm:ss'DEFAULT.Установка
timestampв постоянное значение приводит к сохранению этого значения до тех пор, пока оно не будет изменено снова. УстановкаtimestampвDEFAULTприводит к тому, что его значением станет текущая дата и время на момент доступа к нему.timestampявляетсяDOUBLE, а неBIGINT, поскольку его значение включает часть микросекунд. Максимальное значение соответствует'2038-01-19 03:14:07'UTC, так же как и для типа данныхTIMESTAMP.SET timestampвлияет на значение, возвращаемоеNOW(), но неSYSDATE(). Это означает, что настройки временных меток в бинарном журнале не влияют на вызовыSYSDATE(). Сервер может быть запущен с параметром--sysdate-is-now, чтобыSYSDATE()стал синонимомNOW(), в этом случаеSET timestampвлияет на обе функции. -
tls_certificates_enforced_validationФормат командной строки --tls-certificates-enforced-validation[={OFF|ON}]Системная переменная tls_certificates_enforced_validationОбласть видимости Глобальная Динамическая Нет SET_VARПодсказка применяетсяНет Тип Булево Значение по умолчанию OFFВо время запуска сервер проверяет наличие местоположения каждого требуемого файла сертификата SSL в каталоге данных по умолчанию, если местоположения файлов не указаны в командной строке. Однако сервер не проверяет файлы сертификатов и, следовательно, может запуститься с недействительным сертификатом. Системная переменная
tls_certificates_enforced_validationуправляет тем, применяется ли проверка сертификатов при запуске. Обнаружение недействительного сертификата прерывает выполнение запуска, когда включена проверка. По умолчанию проверка сертификатов отключена (OFF).Принудительную проверку можно включить, указав параметр
--tls-certificates-enforced-validationв командной строке со значениемONили без него. При включенной принудительной проверке сертификаты также проверяются при их перезагрузке с помощью оператораALTER INSTANCE RELOAD TLS. Эта системная переменная не может сохраняться между перезагрузками. Для получения дополнительной информации см. Настройка принудительной проверки сертификатов. -
Формат командной строки --tls-ciphersuites=ciphersuite_listСистемная переменная tls_ciphersuitesОбласть видимости Глобальная Динамическая Да SET_VARПодсказка применяетсяНет Тип Строка Значение по умолчанию NULLКакие наборы шифров разрешает сервер для зашифрованных соединений, использующих TLSv1.3. Значение представляет собой список из нуля или более имен наборов шифров, разделенных двоеточием, из числа перечисленных здесь:
TLS_AES_128_GCM_SHA256TLS_AES_256_GCM_SHA384TLS_CHACHA20_POLY1305_SHA256TLS_AES_128_CCM_SHA256
Попытка включить любые значения в список шифров, которые не показаны здесь при установке этой переменной, приводит к ошибке ().
Наборы шифров, которые можно указать для этой переменной, зависят от библиотеки SSL, используемой для компиляции MySQL. Если эта переменная не установлена, ее значение по умолчанию —
NULL, что означает, что сервер разрешает набор шифров по умолчанию. Если переменная установлена в пустую строку, наборы шифров не включены, и зашифрованные соединения не могут быть установлены. Для получения дополнительной информации см. Раздел 8.3.2, «Зашифрованные соединения, протоколы TLS и шифры». -
Формат командной строки --tls-version=protocol_listСистемная переменная tls_versionОбласть видимости Глобальная Динамическая Да SET_VARПодсказка применяетсяНет Тип Строка Значение по умолчанию TLSv1.2,TLSv1.3Какие протоколы разрешает сервер для зашифрованных соединений. Значение представляет собой список из одного или нескольких имен протоколов, разделенных запятыми, которые не чувствительны к регистру. Протоколы, которые можно указать для этой переменной, зависят от библиотеки SSL, используемой для компиляции MySQL. Должны быть выбраны разрешенные протоколы, чтобы не оставлять “пробелов” в списке. Подробнее см. Раздел 8.3.2, «Зашифрованные соединения, протоколы TLS и шифры».
Эта переменная может быть изменена во время выполнения, чтобы повлиять на контекст TLS, который сервер использует для новых соединений. См. Настройка и мониторинг параметров выполнения на стороне сервера для зашифрованных соединений.
ВажноMySQL 8.4 не поддерживает протоколы соединения TLSv1 и TLSv1.1. См. Удаление поддержки протоколов TLSv1 и TLSv1.1 для получения дополнительной информации.
Поддержка протокола TLSv1.3 доступна в MySQL 8.4 при условии, что сервер MySQL был скомпилирован с использованием OpenSSL 1.1.1 или более поздней версии. Сервер проверяет версию OpenSSL при запуске, и если она ниже 1.1.1, TLSv1.3 удаляется из значения по умолчанию для системной переменной. В этом случае значение по умолчанию —
TLSv1.2.
Установка этой переменной в пустую строку отключает зашифрованные соединения.
-
Формат командной строки --tmp-table-size=#Системная переменная tmp_table_sizeОбласть действия Глобальная, Сеанс Динамическая Да SET_VARПрименимоДа Тип Целое число Значение по умолчанию 16777216Минимальное значение 1024Максимальное значение 18446744073709551615Единица измерения байты Определяет максимальный размер внутренних временных таблиц в оперативной памяти, созданных хранилищами данных
MEMORYиTempTable. Если внутренняя временная таблица в оперативной памяти превышает этот размер, она автоматически преобразуется во временную таблицу на диске.Переменная
tmp_table_sizeне применяется к пользовательским таблицамMEMORY. Пользовательские временные таблицыTempTableне поддерживаются.При использовании хранилища данных
MEMORYдля внутренних временных таблиц в оперативной памяти, фактический предел размера – меньшее из значенийtmp_table_sizeиmax_heap_table_size. Настройкаmax_heap_table_sizeне применяется к таблицамTempTable.Увеличьте значение
tmp_table_size(иmax_heap_table_size, если необходимо, при использовании хранилища данныхMEMORYдля внутренних временных таблиц в оперативной памяти), если вы выполняете много сложных запросовGROUP BYи у вас много памяти.Вы можете сравнить количество созданных внутренних временных таблиц на диске с общим количеством созданных временных таблиц, сравнив значения
Created_tmp_disk_tablesиCreated_tmp_tables.См. также Раздел 10.4.4, «Использование внутренних временных таблиц в MySQL».
-
Формат командной строки --tmpdir=dir_nameСистемная переменная tmpdirОбласть действия Глобальная Динамическая Нет SET_VARПрименимоНет Тип Имя каталога Путь к каталогу, который будет использоваться для создания временных файлов. Это может быть полезно, если ваш каталог по умолчанию
/tmpнаходится на разделе, который слишком мал для хранения временных таблиц. Эту переменную можно установить на список нескольких путей, которые используются по кругу. Пути должны быть разделены двоеточиями (:) в Unix и точкой с запятой (;) в Windows.tmpdirможет быть временным местоположением, например, каталогом на файловой системе на основе памяти или каталогом, который очищается при перезапуске сервера хоста. Если сервер MySQL работает как реплика, и вы используете временное местоположение дляtmpdir, рассмотрите возможность установки другого временного каталога для реплики с использованием переменнойreplica_load_tmpdir. Для реплики временные файлы, используемые для репликации инструкцийLOAD DATA, хранятся в этом каталоге, поэтому с постоянным местоположением они могут сохраниться после перезапуска машины, хотя репликация может продолжить работу после перезапуска, если временные файлы были удалены.Дополнительную информацию о местоположении временных файлов см. в Разделе B.3.3.5, «Где MySQL хранит временные файлы».
-
Формат командной строки --transaction-alloc-block-size=#Системная переменная transaction_alloc_block_sizeОбласть действия Глобальная, Сеанс Динамическая Да SET_VARПрименимоНет Тип Целое число Значение по умолчанию 8192Минимальное значение 1024Максимальное значение 131072Единица измерения байты Размер блока 1024Количество байтов, на которое увеличивается пул памяти на транзакцию, которому требуется память. См. описание
transaction_prealloc_size.
-
Формат командной строки --transaction-isolation=nameСистемная переменная transaction_isolationОбласть действия Глобальная, сеансовая Динамическая Да SET_VARПрименяется ли подсказкаНет Тип Перечисление Значение по умолчанию REPEATABLE-READДопустимые значения READ-UNCOMMITTEDREAD-COMMITTEDREPEATABLE-READSERIALIZABLEУровень изоляции транзакций. По умолчанию используется
REPEATABLE-READ.Уровень изоляции транзакций имеет три области действия: глобальную, сеансовую и следующую транзакцию. Эта трёхзвенная реализация приводит к некоторым нестандартным семантикам присваивания уровня изоляции, как описано далее.
Для установки глобального уровня изоляции транзакций при запуске используйте параметр сервера
--transaction-isolation.Во время выполнения уровень изоляции можно установить непосредственно, используя оператор
SETдля присвоения значения системной переменнойtransaction_isolation, или косвенно, используя операторSET TRANSACTION. Если вы установитеtransaction_isolationнапрямую на имя уровня изоляции, содержащее пробел, имя должно быть заключено в кавычки, а пробел заменён дефисом. Например, используйте этот операторSETдля установки глобального значения:SET GLOBAL transaction_isolation = 'READ-COMMITTED';
Установка глобального значения
transaction_isolationустанавливает уровень изоляции для всех последующих сеансов. Существующие сеансы не затрагиваются.Для установки сеансового или уровня следующей транзакции
transaction_isolation, используйте операторSET. Для большинства системных переменных сеанса эти операторы являются эквивалентными способами установки значения:SET @@SESSION.
var_name=value; SET SESSIONvar_name=value; SETvar_name=value; SET @@var_name=value;Как упоминалось ранее, уровень изоляции транзакций имеет область действия следующей транзакции, помимо глобальной и сеансовой областей действия. Для активации области действия следующей транзакции синтаксис
SETприсваивания значений сеансовых системных переменных имеет нестандартную семантику дляtransaction_isolation:-
Для установки уровня изоляции сеанса используйте любой из этих синтаксисов:
SET @@SESSION.transaction_isolation =
value; SET SESSION transaction_isolation =value; SET transaction_isolation =value;Для каждого из этих синтаксисов применяются следующие семантики:
Устанавливает уровень изоляции для всех последующих транзакций, выполняемых в рамках сеанса.
Допускается в пределах транзакций, но не влияет на текущую выполняющуюся транзакцию.
Если выполняется между транзакциями, переопределяет любой предыдущий оператор, устанавливающий уровень изоляции следующей транзакции.
Соответствует оператору
SET SESSION TRANSACTION ISOLATION LEVEL(с ключевым словомSESSION).
-
Для установки уровня изоляции следующей транзакции используйте этот синтаксис:
SET @@transaction_isolation =
value;Для этого синтаксиса применяются следующие семантики:
Устанавливает уровень изоляции только для следующей единственной транзакции, выполняемой в рамках сеанса.
Последующие транзакции возвращаются к сеансовому уровню изоляции.
Не допускается в пределах транзакций.
Соответствует оператору
SET TRANSACTION ISOLATION LEVEL(без ключевого словаSESSION).
Для получения дополнительной информации о
SET TRANSACTIONи его связи с системной переменнойtransaction_isolation, см. Раздел 15.3.7, «Оператор SET TRANSACTION». -
-
Формат командной строки --transaction-prealloc-size=#Устаревший Да Системная переменная transaction_prealloc_sizeОбласть действия Глобальная, сеансовая Динамическая Да SET_VARПрименяется ли подсказкаНет Тип Целое число Значение по умолчанию 4096Минимальное значение 1024Максимальное значение 131072Единица измерения байты Размер блока 1024Существует пул памяти на транзакцию, из которого различные операции выделения памяти транзакции берут память. Начальный размер пула в байтах —
transaction_prealloc_size. За каждое выделение, которое не может быть удовлетворено из пула из-за недостаточной доступной памяти, размер пула увеличивается наtransaction_alloc_block_sizeбайт. По окончании транзакции пул усекается доtransaction_prealloc_sizeбайт. Сделавtransaction_prealloc_sizeдостаточно большим для размещения всех операторов в одной транзакции, можно избежать многихmalloc()вызовов.transaction_prealloc_sizeустарело, и настройка этой переменной больше не оказывает никакого эффекта. Ожидайте, чтоtransaction_prealloc_sizeбудет удалено в будущих версиях MySQL.
-
Формат командной строки --transaction-read-only[={OFF|ON}]Системная переменная transaction_read_onlyОбласть видимости Глобальная, сессии Динамическая Да SET_VARПодсказка применяетсяНет Тип Булево Значение по умолчанию OFFРежим доступа к транзакции. Значение может быть
OFF(чтение/запись; значение по умолчанию) илиON(только чтение).Режим доступа к транзакции имеет три области видимости: глобальную, сессии и следующую транзакцию. Эта реализация с тремя областями видимости приводит к некоторой нестандартной семантике присвоения режима доступа, как описано ниже.
Чтобы установить глобальный режим доступа к транзакции при запуске, используйте параметр сервера
--transaction-read-only.Во время выполнения режим доступа можно установить непосредственно с помощью оператора
SETдля присвоения значения системной переменнойtransaction_read_onlyили косвенно с помощью оператораSET TRANSACTION. Например, используйте этот операторSETдля установки глобального значения:SET GLOBAL transaction_read_only = ON;
Установка глобального значения
transaction_read_onlyустанавливает режим доступа для всех последующих сессий. Существующие сессии не затрагиваются.Чтобы установить значение
transaction_read_onlyдля сессии или следующего уровня, используйте операторSET. Для большинства системных переменных сессии эти операторы являются эквивалентными способами установки значения:SET @@SESSION.
var_name=value; SET SESSIONvar_name=value; SETvar_name=value; SET @@var_name=value;Как упоминалось ранее, режим доступа к транзакции имеет область видимости «следующая транзакция» в дополнение к глобальной и областям видимости сессии. Чтобы включить установку области видимости «следующая транзакция»,
SETсинтаксис для присвоения значений системных переменных сессии имеет нестандартную семантику дляtransaction_read_only,-
Чтобы установить режим доступа к сессии, используйте любой из этих синтаксисов:
SET @@SESSION.transaction_read_only =
value; SET SESSION transaction_read_only =value; SET transaction_read_only =value;Для каждого из этих синтаксисов применяются следующие семантические правила:
Устанавливает режим доступа для всех последующих транзакций, выполняемых в сессии.
Допускается в транзакциях, но не влияет на текущую выполняющуюся транзакцию.
Если выполняется между транзакциями, переопределяет любое предшествующее утверждение, устанавливающее режим доступа для следующей транзакции.
Соответствует
SET SESSION TRANSACTION {READ WRITE | READ ONLY}(с ключевым словомSESSION).
-
Чтобы установить режим доступа для следующей транзакции, используйте этот синтаксис:
SET @@transaction_read_only =
value;Для этого синтаксиса применяются следующие семантические правила:
Устанавливает режим доступа только для следующей отдельной транзакции, выполняемой в сессии.
Последующие транзакции возвращаются к режиму доступа сессии.
Не допускается в транзакциях.
Соответствует
SET TRANSACTION {READ WRITE | READ ONLY}(без ключевого словаSESSION).
Для получения дополнительной информации о
SET TRANSACTIONи его связи с системной переменнойtransaction_read_only, см. Раздел 15.3.7, «Оператор SET TRANSACTION». -
-
Системная переменная unique_checksОбласть видимости Глобальная, сессии Динамическая Да SET_VARПодсказка применяетсяДа Тип Булево Значение по умолчанию ONЕсли установлено значение 1 (по умолчанию), выполняются проверки уникальности для вторичных индексов в таблицах
InnoDB. Если установлено значение 0, механизмам хранения разрешается предполагать, что дубликаты ключей отсутствуют во входных данных. Если вы точно знаете, что ваши данные не содержат нарушений уникальности, вы можете установить это значение равным 0, чтобы ускорить импорт больших таблиц вInnoDB.Установка этой переменной в 0 не требует от механизмов хранения игнорировать дубликаты ключей. Механизм по-прежнему может проверять их и выдавать ошибки дублирования ключей, если он их обнаружит.
-
Формат командной строки --updatable-views-with-limit[={OFF|ON}]Системная переменная updatable_views_with_limitОбласть видимости Глобальная, сессии Динамическая Да SET_VARПодсказка применяетсяДа Тип Булево Значение по умолчанию 1Эта переменная управляет тем, можно ли вносить обновления в представление, если представление не содержит все столбцы первичного ключа, определенного в базовой таблице, если оператор обновления содержит предложение
LIMIT. (Такие обновления часто генерируются инструментами GUI.) Обновление — это операторUPDATEилиDELETE. Первичный ключ здесь означаетPRIMARY KEYили индексUNIQUE, в котором ни один столбец не может содержатьNULL.Переменная может иметь два значения:
1илиYES: Выдать только предупреждение (а не сообщение об ошибке). Это значение по умолчанию.0илиNO: Запретить обновление.
-
Системная переменная use_secondary_engineОбласть видимости Сессии Динамическая Да SET_VARПодсказка применяетсяДа Тип Перечисление Значение по умолчанию ONДопустимые значения OFFONFORCEDДля будущего использования.
Использовать ли для выполнения запросов дополнительный механизм.
Для использования с HeatWave. См. Руководство пользователя HeatWave.
-
validate_password.xxxКомпонент
validate_passwordреализует набор системных переменных с именами в форматеvalidate_password.. Эти переменные влияют на тестирование паролей этим компонентом; см. Раздел 8.4.3.2, «Параметры и переменные проверки пароля».xxx -
Номер версии сервера. Значение может также включать суффикс, указывающий на информацию о сборке или конфигурации сервера.
-debugуказывает на то, что сервер был собран с включенной поддержкой отладки.
-
Переменная системы version_commentОбласть Глобальная Динамическая Нет SET_VARПрименяется подсказкаНет Тип Строка Программа конфигурации CMake имеет опцию
COMPILATION_COMMENT_SERVER, которая позволяет указать комментарий при построении MySQL. Эта переменная содержит значение этого комментария. -
Переменная системы version_compile_machineОбласть Глобальная Динамическая Нет SET_VARПрименяется подсказкаНет Тип Строка Тип серверного двоичного файла.
-
Переменная системы version_compile_osОбласть Глобальная Динамическая Нет SET_VARПрименяется подсказкаНет Тип Строка Тип операционной системы, на которой был построен MySQL.
-
Переменная системы version_compile_zlibОбласть Глобальная Динамическая Нет SET_VARПрименяется подсказкаНет Тип Строка Версия скомпилированной библиотеки
zlib. -
Формат командной строки --wait-timeout=#Переменная системы wait_timeoutОбласть Глобальная, Сессия Динамическая Да SET_VARПрименяется подсказкаНет Тип Целое число Значение по умолчанию 28800Минимальное значение 1Максимальное значение (Windows) 2147483Максимальное значение (Другие) 31536000Единица измерения секунды Количество секунд, которое сервер ожидает активности по неинтерактивному соединению перед его закрытием.
При запуске потока значение сессии
wait_timeoutинициализируется из глобального значенияwait_timeoutили из глобального значенияinteractive_timeoutв зависимости от типа клиента (как определено опцией соединенияCLIENT_INTERACTIVE). См. такжеinteractive_timeout. -
Количество ошибок, предупреждений и заметок, которые были результатом последнего оператора, сгенерировавшего сообщения. Эта переменная только для чтения. См. Раздел 15.7.7.42, “SHOW WARNINGS Statement”.
-
Формат командной строки --windowing-use-high-precision[={OFF|ON}]Переменная системы windowing_use_high_precisionОбласть Глобальная, Сессия Динамическая Да SET_VARПрименяется подсказкаДа Тип Булево Значение по умолчанию ONВычислять ли оконные операции без потери точности. См. Раздел 10.2.1.21, “Window Function Optimization”.
-
Формат командной строки --xa-detach-on-prepare[={OFF|ON}]Переменная системы xa_detach_on_prepareОбласть Глобальная, Сессия Динамическая Да SET_VARПрименяется подсказкаНет Тип Булево Значение по умолчанию ONПри установке в значение
ON(включено), все XA-транзакции отсоединяются (отключаются) от подключения (сессии) как частьXA PREPARE. Это означает, что XA-транзакцию можно подтвердить или отменить другим подключением, даже если исходное подключение не завершено, и это подключение может начать новые транзакции.Временные таблицы нельзя использовать внутри отсоединенных XA-транзакций.
Когда это значение
OFF(выключено), XA-транзакция строго ассоциирована с тем же подключением до отключения сессии. Рекомендуется разрешить ее включение (по умолчанию) для репликации.Дополнительная информация в Разделе 15.3.8.2, “XA Transaction States”.
© 2025 Oracle
Licensed under the GPLv2 License.