Spec-Zone.ru › MySQL 8.4

6.2.2.5 Использование опций для установки переменных программы

Многие программы MySQL имеют внутренние переменные, которые можно установить во время выполнения с помощью оператора SET. Смотрите Раздел 15.7.6.1, «Синтаксис SET для присваивания переменных» и Раздел 7.1.9, «Использование системных переменных».

Большинство этих переменных программы также можно установить при запуске сервера, используя тот же синтаксис, что и для указания параметров программы. Например, у mysql есть переменная max_allowed_packet, которая управляет максимальным размером буфера связи. Чтобы установить переменную max_allowed_packet для mysql со значением 16 МБ, используйте одну из следующих команд:

mysql --max_allowed_packet=16777216
mysql --max_allowed_packet=16M

Первая команда указывает значение в байтах. Вторая указывает значение в мегабайтах. Для переменных, принимающих числовое значение, значение можно задать с суффиксом K, M или G, чтобы указать множитель 1024, 10242 или 10243. (Например, при установке max_allowed_packet суффиксы обозначают единицы килобайт, мегабайт или гигабайт). Начиная с MySQL 8.0.14, суффикс также может быть T, P и E, чтобы указать множитель 10244, 10245 или 10246. Буквы суффиксов могут быть заглавными или строчными.

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

[mysql]
max_allowed_packet=16777216

Или:

[mysql]
max_allowed_packet=16M

Если нужно, знаки подчеркивания в имени параметра можно задавать как тире. Следующие группы параметров эквивалентны. Обе устанавливают размер кэш-буфера сервера на 512 МБ:

[mysqld]
key_buffer_size=512M

[mysqld]
key-buffer-size=512M

Суффиксы для указания множителя значения можно использовать при установке переменной во время вызова программы, но не для установки значения с помощью SET во время выполнения. С другой стороны, с SET вы можете назначить значение переменной с помощью выражения, что неверно, когда вы устанавливаете переменную при запуске сервера. Например, первая из следующих строк допустима во время вызова программы, но вторая — нет:

$> mysql --max_allowed_packet=16M
$> mysql --max_allowed_packet=16*1024*1024

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

mysql> SET GLOBAL max_allowed_packet=16M;
mysql> SET GLOBAL max_allowed_packet=16*1024*1024;

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-8.4-en/program-variables.html

Spec-Zone.ru

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