Spec-Zone .ru
спецификации, руководства, описания, API
|
У многих программ MySQL есть внутренние переменные, которые могут быть установлены во времени выполнения,
используя SET
оператор. См. Раздел 13.7.4,"SET
Синтаксис", и Раздел 5.1.5,
"Используя Системные Переменные".
Большинство этих переменных программы также может быть установлено при запуске сервера при использовании того же
самого синтаксиса, который применяется к определению опций программы. Например, у mysql есть a max_allowed_packet
переменная, которая управляет максимальным размером ее
коммуникационного буфера. Установить max_allowed_packet
переменная для mysql к значению 16 МБ, используйте любую из следующих
команд:
shell>mysql --max_allowed_packet=16777216
shell>mysql --max_allowed_packet=16M
Первая команда определяет значение в байтах. Второе определяет значение в мегабайтах. Для переменных, которые
берут числовое значение, значение может быть дано с суффиксом K
, M
, или G
(или верхний регистр или нижний регистр),
чтобы указать на множитель 1024, 10242 или 10243. (Например, когда использующийся
установить max_allowed_packet
, суффиксы указывают на модули килобайтов, мегабайтов,
или гигабайтов.)
В файле опции переменные настройки даются без ведущих тире:
[mysql]max_allowed_packet=16777216
Или:
[mysql]max_allowed_packet=16M
Если Вам нравится, подчеркивания в имени переменной могут быть определены как тире. Следующие группы опции эквивалентны. Оба устанавливает размер ключевого буфера сервера к 512 МБ:
[mysqld]key_buffer_size=512M[mysqld]key-buffer-size=512M
Переменная может быть определена при записи этого полностью или как любой однозначный префикс. Например, max_allowed_packet
переменная может быть установлена для mysql как --max_a
, но не как --max
потому что последний неоднозначен:
shell> mysql --max=1000000
mysql: ambiguous option '--max=1000000' (max_allowed_packet, max_join_size)
Знайте, что использование переменных префиксов может вызвать проблемы, когда новые переменные реализуются для программы. Префикс, который однозначен теперь, мог бы стать неоднозначным в будущем.
Суффиксы для того, чтобы определить множитель значения могут использоваться, устанавливая переменную при запуске
сервера, но не установить значение с SET
во
времени выполнения. С другой стороны, с SET
можно
присвоить значение переменной, используя выражение, которое не является истиной, когда Вы устанавливаете
переменную при запуске сервера. Например, первая из следующих строк является законной при запуске сервера, но
второй, не:
shell>mysql --max_allowed_packet=16M
shell>mysql --max_allowed_packet=16*1024*1024
Наоборот, вторая из следующих строк является законной во времени выполнения, но первой, не:
mysql>SET GLOBAL max_allowed_packet=16M;
mysql>SET GLOBAL max_allowed_packet=16*1024*1024;