Spec-Zone.ru › MySQL 5.7

5.1.6 Параметры командной строки сервера

При запуске сервера mysqld вы можете указать параметры программы, используя любой из методов, описанных в разделе 4.2.2, «Указание параметров программы». Наиболее распространёнными методами являются использование файла параметров или параметров командной строки. Однако в большинстве случаев желательно гарантировать, что сервер использует одни и те же параметры каждый раз при запуске. Лучший способ сделать это — указать их в файле параметров. См. раздел 4.2.2.2, «Использование файлов параметров». В этом разделе также описан формат и синтаксис файла параметров.

mysqld считывает параметры из групп [mysqld] и [server]. mysqld_safe считывает параметры из групп [mysqld], [server], [mysqld_safe] и [safe_mysqld]. mysql.server считывает параметры из групп [mysqld] и [mysql.server].

Встроенный сервер MySQL обычно считывает параметры из групп [server], [embedded] и [xxxxx_SERVER], где xxxxx — имя приложения, в которое встроен сервер.

mysqld принимает множество параметров командной строки. Для краткого обзора выполните следующую команду:

mysqld --help

Чтобы увидеть полный список, используйте следующую команду:

mysqld --verbose --help

Некоторые элементы в списке на самом деле являются системными переменными, которые можно задать при запуске сервера. Эти переменные можно отобразить во время работы, используя оператор SHOW VARIABLES. Некоторые элементы, отображаемые командой mysqld, не отображаются в выводе оператора SHOW VARIABLES; это связано с тем, что они являются только параметрами, а не системными переменными.

Следующий список показывает некоторые из наиболее распространённых параметров сервера. Дополнительные параметры описаны в других разделах:

  • Параметры, влияющие на безопасность: см. раздел 6.1.4, «Параметры и переменные mysqld, связанные с безопасностью».

  • Параметры, связанные с SSL: см. Параметры командной строки для шифрованных соединений.

  • Параметры управления бинарным журналом: см. раздел 5.4.4, «Бинарный журнал».

  • Параметры, связанные с репликацией: см. раздел 16.1.6, «Параметры и переменные репликации и бинарного протоколирования».

  • Параметры для загрузки плагинов, таких как подключаемые хранилища данных: см. раздел 5.5.1, «Установка и удаление плагинов».

  • Параметры, специфичные для конкретных хранилищ данных: см. раздел 14.15, «Параметры запуска InnoDB и системные переменные» и раздел 15.2.1, «Параметры запуска MyISAM».

Некоторые параметры контролируют размер буферов или кэшей. Для данного буфера серверу может потребоваться выделить внутренние структуры данных. Эти структуры обычно выделяются из общего объёма памяти, выделенного буферу, а требуемый объём памяти может зависеть от платформы. Это означает, что когда вы задаёте значение параметра, контролирующего размер буфера, фактически доступный объём памяти может отличаться от заданного значения. В некоторых случаях он может быть меньше заданного значения. Также возможно, что сервер скорректирует значение вверх. Например, если вы задаёте значение 0 для параметра, для которого минимальное значение равно 1024, сервер установит значение 1024.

Значения размеров буферов, длин и размеров стеков указаны в байтах, если не указано иное.

Некоторые параметры принимают значения имён файлов. Если значение — имя относительного пути, по умолчанию используется каталог данных, если не указано иное. Для явного указания расположения используйте абсолютный путь. Предположим, что каталог данных — /var/mysql/data. Если параметр, принимающий значение файла, задаётся как имя относительного пути, он расположен в /var/mysql/data. Если значение — имя абсолютного пути, его расположение указано этим именем пути.

Вы также можете установить значения системных переменных сервера при запуске сервера, используя имена переменных как параметры. Чтобы присвоить значение системной переменной сервера, используйте параметр вида --var_name=value. Например, --sort_buffer_size=384M устанавливает переменную sort_buffer_size в значение 384 МБ.

Когда вы присваиваете значение переменной, MySQL может автоматически скорректировать значение, чтобы оно оставалось в заданном диапазоне, или скорректировать значение до ближайшего допустимого значения, если разрешены только определённые значения.

Чтобы ограничить максимальное значение, до которого можно установить системную переменную во время выполнения с помощью оператора SET, укажите это максимальное значение, используя параметр вида --maximum-var_name=value при запуске сервера.

Вы можете изменить значения большинства системных переменных во время выполнения с помощью оператора SET. См. раздел 13.7.4.1, «Синтаксис SET для присваивания переменных».

Раздел 5.1.7, «Системные переменные сервера», содержит полное описание всех переменных и дополнительную информацию о настройке переменных при запуске сервера и во время выполнения. Сведения о изменении системных переменных см. в разделе 5.1.1, «Настройка сервера».

END_OF_DOCUMENT_MARKER ```
  • --help, -?

    Формат командной строки --help

    Отобразить короткое сообщение справки и завершить работу. Используйте оба параметра --verbose и --help, чтобы увидеть полное сообщение.

  • --allow-suspicious-udfs

    Формат командной строки --allow-suspicious-udfs[={OFF|ON}]
    Тип Булево
    Значение по умолчанию OFF

    Данный параметр управляет возможностью загрузки загружаемых функций, имеющих только символ xxx для основной функции. По умолчанию параметр выключен, и загружаются только функции, имеющие по крайней мере один вспомогательный символ; это предотвращает попытки загрузки функций из файлов общих объектов, кроме тех, которые содержат законные функции. См. Меры предосторожности в отношении безопасности загружаемых функций.

  • --ansi

    Формат командной строки --ansi

    Использовать стандартный (ANSI) синтаксис SQL вместо синтаксиса MySQL. Для более точного управления режимом SQL сервера используйте параметр --sql-mode вместо этого. См. Раздел 1.6, «Соответствие MySQL стандартам» и Раздел 5.1.10, «Режимы SQL сервера».

  • --basedir=dir_name, -b dir_name

    Формат командной строки --basedir=dir_name
    Переменная системы basedir
    Область Глобальная
    Динамическая Нет
    Тип Имя каталога
    Значение по умолчанию configuration-dependent default

    Путь к каталогу установки MySQL. Этот параметр устанавливает переменную системы basedir.

  • --bootstrap

    Формат командной строки --bootstrap
    Устаревший Да

    Этот параметр используется программой mysql_install_db для создания таблиц привилегий MySQL без запуска полного сервера MySQL.

    Примечание

    mysql_install_db устарела, так как её функциональность интегрирована в mysqld, сервер MySQL. Соответственно, параметр сервера --bootstrap, который mysql_install_db передает mysqld, также устарел. Для инициализации установки MySQL вызовите mysqld с параметром --initialize или --initialize-insecure. Дополнительную информацию см. в Разделе 2.9.1, «Инициализация каталога данных». Ожидайте, что mysql_install_db и параметр сервера --bootstrap будут удалены в будущей версии MySQL.

    --bootstrap несовместим с --daemonize, --initialize и --initialize-insecure.

    Идентификаторы глобальных транзакций (GTID) не отключаются, когда используется --bootstrap. --bootstrap использовался (Ошибка #20980271). См. Раздел 16.1.3, «Репликация с идентификаторами глобальных транзакций».

    Когда сервер работает в режиме bootstap, некоторые функции недоступны, что ограничивает заявления, разрешенные в любом файле, указанном переменной системы init_file. Дополнительную информацию см. в описании этой переменной. Кроме того, переменная системы disabled_storage_engines не имеет эффекта.

  • --character-set-client-handshake

    Формат командной строки --character-set-client-handshake[={OFF|ON}]
    Тип Булево
    Значение по умолчанию ON

    Не игнорировать информацию о наборе символов, отправленную клиентом. Для игнорирования информации клиента и использования набора символов сервера по умолчанию используйте --skip-character-set-client-handshake; это заставит MySQL вести себя так же, как MySQL 4.0.

  • --chroot=dir_name, -r dir_name

    Формат командной строки --chroot=dir_name
    Тип Имя каталога

    Поместить сервер mysqld в изолированную среду во время запуска, используя вызов chroot(). Это рекомендуемая мера безопасности. Использование этого параметра несколько ограничивает LOAD DATA и SELECT ... INTO OUTFILE.

  • --console

    Формат командной строки --console
    Платформозависимый Windows

    (Только Windows.) Записать журнал ошибок в stderr и stdout (консоль). mysqld не закрывает окно консоли, если используется этот параметр.

    --console имеет приоритет над --log-error, если оба заданы. (В MySQL 5.5 и 5.6 это наоборот: --log-error имеет приоритет над --console, если оба заданы.)

  • --core-file

    Формат командной строки --core-file

    При использовании этого параметра, если mysqld завершит работу аварийно, создается файл core; для этого не нужны (и не принимаются) аргументы. Имя и расположение файла core зависят от операционной системы. В Linux файл core с именем core.pid записывается в текущую рабочую директорию процесса, которая для mysqld является каталогом данных. pid представляет собой идентификатор процесса серверного процесса. В macOS файл core с именем core.pid записывается в каталог /cores. В Solaris для указания места записи файла core и его наименования используется команда coreadm.

    Для некоторых систем, чтобы получить файл core, необходимо также указать параметр --core-file-size для mysqld_safe. См. Раздел 4.3.2, «mysqld_safe — Сценарий запуска сервера MySQL». В некоторых системах, таких как Solaris, файл core не создается, если используется параметр --user. Могут быть дополнительные ограничения или ограничения. Например, может потребоваться выполнить ulimit -c unlimited перед запуском сервера. Обратитесь к документации вашей системы.

  • --daemonize

    Формат командной строки --daemonize[={OFF|ON}]
    Тип Булево
    Значение по умолчанию OFF

    Этот параметр заставляет сервер работать как традиционный демонический процесс с разветвлением, что позволяет ему работать с операционными системами, использующими systemd для управления процессами. Дополнительную информацию см. в Разделе 2.5.10, «Управление сервером MySQL с помощью systemd».

    --daemonize несовместим с --bootstrap, --initialize и --initialize-insecure.

  • --datadir=dir_name, -h dir_name

    Формат командной строки --datadir=dir_name
    Системная переменная datadir
    Область действия Глобальная
    Динамическая Нет
    Тип Имя каталога

    Путь к каталогу данных сервера MySQL. Этот параметр задает системную переменную datadir. См. описание этой переменной.

  • --debug[=debug_options], -# [debug_options]

    Формат командной строки --debug[=debug_options]
    Системная переменная debug
    Область действия Глобальная, Сеанс
    Динамическая Да
    Тип Строка
    Значение по умолчанию (Unix) d:t:i:o,/tmp/mysqld.trace
    Значение по умолчанию (Windows) d:t:i:O,\mysqld.trace

    Если MySQL сконфигурирован с параметром -DWITH_DEBUG=1 CMake, этот параметр позволяет получить файл трассировки действий mysqld. Типичная строка debug_options имеет вид d:t:o,file_name. По умолчанию значение — d:t:i:o,/tmp/mysqld.trace в Unix и d:t:i:O,\mysqld.trace в Windows.

    Использование -DWITH_DEBUG=1 для конфигурации MySQL с поддержкой отладки позволяет использовать параметр --debug="d,parser_debug" при запуске сервера. Это заставляет парсер Bison, используемый для обработки SQL-запросов, выводить трассировку парсера в стандартный поток ошибок сервера. Обычно этот вывод записывается в файл журнала ошибок.

    Этот параметр можно указывать несколько раз. Значения, начинающиеся с + или -, добавляются к или вычитаются из предыдущего значения. Например, --debug=T --debug=+P задает значение P:T.

    Дополнительную информацию см. в Разделе 5.8.3, «Пакет DBUG».

  • --debug-sync-timeout[=N]

    Формат командной строки --debug-sync-timeout[=#]
    Тип Целое число

    Управляет включением механизма Debug Sync для тестирования и отладки. Использование Debug Sync требует конфигурации MySQL с параметром -DWITH_DEBUG=ON CMake (см. Раздел 2.8.7, «Параметры конфигурации источника MySQL»). Если Debug Sync не скомпилирован, этот параметр недоступен. Значение параметра — таймаут в секундах. Значение по умолчанию 0, что отключает Debug Sync. Для включения укажите значение больше 0; это значение также становится таймаутом по умолчанию для отдельных точек синхронизации. Если параметр указан без значения, таймаут устанавливается в 300 секунд.

    Описание механизма Debug Sync и способ использования точек синхронизации см. на странице MySQL Internals: Test Synchronization.

  • --default-time-zone=timezone

    Формат командной строки --default-time-zone=name
    Тип Строка

    Установка временной зоны сервера по умолчанию. Этот параметр задает глобальную системную переменную time_zone. Если этот параметр не задан, временная зона по умолчанию совпадает с системной временной зоной (заданной значением системной переменной system_time_zone).

    Переменная system_time_zone отличается от time_zone. Хотя они могут иметь одинаковое значение, последняя переменная используется для инициализации временной зоны для каждого подключенного клиента. См. Раздел 5.1.13, «Поддержка временных зон в сервере MySQL».

  • --defaults-extra-file=file_name

    Считывает этот файл параметров после глобального файла параметров, но (в Unix) перед файлом параметров пользователя. Если файла не существует или он недоступен, возникает ошибка. Если file_name не является абсолютным путем, он интерпретируется относительно текущей директории. Этот параметр должен быть первым в командной строке, если используется.

    Дополнительную информацию об этом и других параметрах файлов параметров см. в Разделе 4.2.2.3, «Параметры командной строки, влияющие на обработку файлов параметров».

  • --defaults-file=file_name

    Считывает только указанный файл параметров. Если файла не существует или он недоступен, возникает ошибка. Если file_name не является абсолютным путем, он интерпретируется относительно текущей директории.

    Примечание

    Этот параметр должен быть первым в командной строке, если используется, за исключением случая, когда сервер запускается с параметрами --defaults-file и --install (или --install-manual), в этом случае --install (или --install-manual) должен быть первым.

    Дополнительную информацию об этом и других параметрах файлов параметров см. в Разделе 4.2.2.3, «Параметры командной строки, влияющие на обработку файлов параметров».

  • --defaults-group-suffix=str

    Читайте не только обычные группы опций, но также группы с обычными именами и суффиксом str. Например, mysqld обычно читает группу [mysqld]. Если эта опция задана как --defaults-group-suffix=_other, mysqld также читает группу [mysqld_other].

    Дополнительную информацию об этой и других опциях файла опций см. в разделе 4.2.2.3, «Опции командной строки, влияющие на обработку файлов опций».

  • --des-key-file=file_name

    Формат командной строки --des-key-file=file_name
    Устаревшая Да

    Читать значения ключей DES по умолчанию из этого файла. Эти ключи используются функциями DES_ENCRYPT() и DES_DECRYPT().

    Примечание

    Функции DES_ENCRYPT() и DES_DECRYPT() устарели в MySQL 5.7, удалены в MySQL 8.0 и больше не должны использоваться. Соответственно, --des-key-file также устарела и удалена в MySQL 8.0.

  • --disable-partition-engine-check

    Формат командной строки --disable-partition-engine-check[={OFF|ON}]
    Введено 5.7.17
    Устарела 5.7.17
    Тип Булево
    Значение по умолчанию (≥ 5.7.21) ON
    Значение по умолчанию (≥ 5.7.17, ≤ 5.7.20) OFF

    Включить или выключить проверку при запуске для таблиц с неродным разбиением.

    С версии MySQL 5.7.17, общий обработчик разбиения в сервере MySQL устарел и удален в MySQL 8.0, когда ожидается, что используемый для данной таблицы движок хранения предоставит собственный (“родной”) обработчик разбиения. В настоящее время это делают только движки хранения InnoDB и NDB.

    Использование таблиц с неродным разбиением приводит к предупреждению. В MySQL 5.7.17–5.7.20 сервер автоматически проверяет при запуске таблицы, использующие неродное разбиение; для всех найденных таблиц сервер записывает сообщение в свой журнал ошибок. Чтобы отключить эту проверку, используйте опцию --disable-partition-engine-check. В MySQL 5.7.21 и более поздних версиях эта проверка не выполняется; в этих версиях необходимо запустить сервер с --disable-partition-engine-check=false, если вы хотите, чтобы сервер проверял таблицы, использующие общий обработчик разбиения (ошибка #85830, ошибка #25846957).

    Использование таблиц с неродным разбиением приводит к предупреждению. Также сервер выполняет проверку при запуске для определения таблиц, использующих неродное разбиение; для всех найденных таблиц сервер записывает сообщение в свой журнал ошибок. Чтобы отключить эту проверку, используйте опцию --disable-partition-engine-check.

    Для подготовки к миграции в MySQL 8.0 все таблицы с неродным разбиением должны быть изменены на использование движка, который предоставляет родное разбиение, или быть сделаны неразбитыми. Например, чтобы изменить таблицу на InnoDB, выполните это утверждение:

    ALTER TABLE table_name ENGINE = INNODB;
    
  • --early-plugin-load=plugin_list

    Формат командной строки --early-plugin-load=plugin_list
    Введено 5.7.11
    Тип Строка
    Значение по умолчанию (≥ 5.7.12) empty string
    Значение по умолчанию (5.7.11) keyring_file plugin library file name

    Эта опция указывает серверу, какие плагины загрузить до загрузки обязательных встроенных плагинов и до инициализации движка хранения. Загрузка плагинов при ранней инициализации поддерживается только для плагинов, скомпилированных с PLUGIN_OPT_ALLOW_EARLY. Если задано несколько опций --early-plugin-load, применяется только последняя.

    Значение опции — это список значений, разделённых точкой с запятой plugin_library и name=plugin_library. Каждое plugin_library — это имя файла библиотеки, содержащее код плагина, а каждое name — имя загружаемого плагина. Если имя библиотеки плагина указано без имени предшествующего плагина, сервер загружает все плагины в библиотеке. При наличии предшествующего имени плагина сервер загружает только указанный плагин из библиотеки. Сервер ищет файлы библиотек плагинов в каталоге, указанном переменной системы plugin_dir.

    Например, если плагины с именами myplug1 и myplug2 содержатся в файлах библиотек плагинов myplug1.so и myplug2.so, используйте эту опцию для ранней загрузки плагинов:

    mysqld --early-plugin-load="myplug1=myplug1.so;myplug2=myplug2.so"
    

    Значения аргументов заключены в кавычки, так как в противном случае некоторые интерпретаторы команд воспринимают точку с запятой (;) как специальный символ. (Например, оболочки Unix обрабатывают её как терминатор команды).

    Каждый плагин загружается при ранней инициализации только для одного запуска mysqld. После перезапуска плагин не загружается, если снова не используется опция --early-plugin-load.

    Если сервер запускается с помощью --initialize или --initialize-insecure, плагины, указанные в --early-plugin-load, не загружаются.

    Если сервер запускается с --help, плагины, указанные в --early-plugin-load, загружаются, но не инициализируются. Это поведение обеспечивает, что параметры плагинов отображаются в сообщении справки.

    InnoDB шифрование табличного пространства зависит от MySQL Keyring для управления ключами шифрования, а плагин keyring должен быть загружен до инициализации движка хранения, чтобы обеспечить InnoDB восстановление зашифрованных таблиц. Например, администраторы, которые хотят, чтобы плагин keyring_file загружался при запуске, должны использовать --early-plugin-load с соответствующим значением опции (например, keyring_file.so в системах Unix и Unix-подобных системах или keyring_file.dll в Windows).

    Важно

    В MySQL 5.7.11 значение по умолчанию для --early-plugin-load — имя файла библиотеки плагина keyring_file, из-за чего этот плагин загружается по умолчанию. В MySQL 5.7.12 и более поздних версиях значение по умолчанию для --early-plugin-load пустое; для загрузки плагина keyring_file вы должны явно указать опцию со значением, содержащим имя файла библиотеки плагина keyring_file.

    Это изменение значения по умолчанию для --early-plugin-load вносит несовместимость для InnoDB шифрования табличного пространства при обновлении с 5.7.11 до 5.7.12 или более поздней версии. Администраторы, у которых зашифрованы InnoDB табличные пространства, должны предпринять явные действия, чтобы обеспечить продолжение загрузки плагина keyring: запустите сервер с опцией --early-plugin-load, которая указывает имя файла библиотеки плагина. Дополнительную информацию см. в разделе 6.4.4.1, «Установка плагина Keyring».

    Дополнительную информацию о InnoDB шифровании табличного пространства см. в разделе 14.14, «Шифрование данных InnoDB в состоянии покоя». Дополнительную информацию о загрузке плагинов см. в разделе 5.5.1, «Установка и удаление плагинов».

END_OF_DOCUMENT_MARKER
  • --exit-info[=flags], -T [flags]

    Формат командной строки --exit-info[=flags]
    Тип Целое число

    Это битовая маска различных флагов, которые можно использовать для отладки сервера mysqld. Не используйте этот параметр, если вы не знаете точно, что он делает!

  • --external-locking

    Формат командной строки --external-locking[={OFF|ON}]
    Тип Булево
    Значение по умолчанию OFF

    Включить внешнюю блокировку (блокировку системы), которая по умолчанию отключена. Если вы используете этот параметр на системе, на которой lockd не работает должным образом (например, Linux), mysqld легко может попасть в тупик.

    Чтобы явно отключить внешнюю блокировку, используйте --skip-external-locking.

    Внешняя блокировка влияет только на доступ к таблицам MyISAM. Для получения дополнительной информации, включая условия, при которых она может и не может быть использована, см. Раздел 8.11.5, «Внешняя блокировка».

  • --flush

    Формат командной строки --flush[={OFF|ON}]
    Переменная системы flush
    Область действия Глобальная
    Динамическая Да
    Тип Булево
    Значение по умолчанию OFF

    Очистить (синхронизировать) все изменения на диске после каждой SQL-команды. Обычно MySQL выполняет запись всех изменений на диск только после каждой SQL-команды и позволяет операционной системе выполнить синхронизацию с диском. См. Раздел B.3.3.3, «Что делать, если MySQL продолжает сбоить».

    Примечание

    Если задан параметр --flush, значение flush_time не имеет значения, а изменения flush_time не влияют на поведение очистки.

  • --gdb

    Формат командной строки --gdb[={OFF|ON}]
    Тип Булево
    Значение по умолчанию OFF

    Устанавливает обработчик прерываний для SIGINT (необходим для остановки mysqld с ^C для установки точек останова) и отключает отслеживание стека и обработку файлов core. См. Раздел 5.8.1.4, «Отладка mysqld с помощью gdb».

  • --ignore-db-dir=dir_name

    Формат командной строки --ignore-db-dir=dir_name
    Устаревший 5.7.16
    Тип Имя каталога

    Этот параметр сообщает серверу игнорировать указанное имя каталога для целей оператора SHOW DATABASES или таблиц INFORMATION_SCHEMA. Например, если конфигурация MySQL размещает каталог данных в корне файловой системы Unix, система может создать там каталог lost+found, который сервер должен игнорировать. Запуск сервера с --ignore-db-dir=lost+found приводит к тому, что это имя не будет отображаться в качестве базы данных.

    Для указания более одного имени используйте этот параметр несколько раз, по одному для каждого имени. Указание параметра с пустым значением (то есть как --ignore-db-dir=) сбрасывает список каталогов до пустого списка.

    Экземпляры этого параметра, указанные при запуске сервера, используются для установки системной переменной ignore_db_dirs.

    Этот параметр устарел в MySQL 5.7. С введением словаря данных в MySQL 8.0 он стал излишним и был удален в этой версии.

  • --initialize

    Формат командной строки --initialize[={OFF|ON}]
    Тип Булево
    Значение по умолчанию OFF

    Этот параметр используется для инициализации установки MySQL путем создания каталога данных и заполнения таблиц в базе данных системы mysql. Дополнительную информацию см. в Разделе 2.9.1, «Инициализация каталога данных».

    Этот параметр ограничивает действие или несовместим с рядом других параметров запуска сервера MySQL. Некоторые из наиболее распространенных проблем этого типа описаны здесь:

    • При инициализации каталога данных с помощью --initialize настоятельно рекомендуется указать только дополнительные параметры, кроме --datadir, другие параметры, используемые для установки расположения каталога, такие как --basedir, и, возможно, --user, при необходимости. Параметры для работающего сервера MySQL можно указать при его запуске после завершения инициализации и остановки mysqld. Это также относится к использованию --initialize-insecure вместо --initialize.

    • При запуске сервера с параметром --initialize некоторые функции недоступны, что ограничивает разрешенные операторы в любом файле, имя которого указано в системной переменной init_file. Дополнительную информацию см. в описании этой переменной. Кроме того, системная переменная disabled_storage_engines не имеет эффекта.

    • Параметр --ndbcluster игнорируется при совместном использовании с --initialize.

    • --initialize несовместим с --bootstrap и --daemonize.

    Пункты в предыдущем списке также применяются при инициализации сервера с помощью параметра --initialize-insecure.

  • --initialize-insecure

    Формат командной строки --initialize-insecure[={OFF|ON}]
    Тип Булево
    Значение по умолчанию OFF

    Этот параметр используется для инициализации установки MySQL путем создания каталога данных и заполнения таблиц в базе данных системы mysql. Этот параметр подразумевает --initialize, и те же ограничения и ограничения применяются; для получения дополнительной информации см. описание этого параметра и Раздел 2.9.1, «Инициализация каталога данных».

    Предупреждение

    Этот параметр создает пользователя MySQL root с пустым паролем, что небезопасно. По этой причине не используйте его в рабочей среде без ручного задания этого пароля. См. Раздел «Назначение пароля root после инициализации» для получения информации о том, как это сделать.

  • --innodb-xxx

    Установите параметр для хранилища InnoDB. Параметры InnoDB перечислены в Разделе 14.15, «Параметры запуска InnoDB и системные переменные».

  • --install [service_name]

    Формат командной строки --install [service_name]
    Специфично для платформы Windows

    (Только для Windows) Установите сервер как службу Windows, которая запускается автоматически при запуске Windows. Имя службы по умолчанию — MySQL, если не указано значение service_name. Для получения дополнительной информации см. Раздел 2.3.4.8, «Запуск MySQL как службы Windows».

    Примечание

    Если сервер запущен с параметрами --defaults-file и --install, --install должен быть указан первым.

  • --install-manual [service_name]

    Формат командной строки --install-manual [service_name]
    Специфично для платформы Windows

    (Только для Windows) Установите сервер как службу Windows, которую необходимо запускать вручную. Она не запускается автоматически при запуске Windows. Имя службы по умолчанию — MySQL, если не указано значение service_name. Для получения дополнительной информации см. Раздел 2.3.4.8, «Запуск MySQL как службы Windows».

    Примечание

    Если сервер запущен с параметрами --defaults-file и --install-manual, --install-manual должен быть указан первым.

  • --language=lang_name, -L lang_name

    Формат командной строки --language=name
    Устарело Да; используйте lc-messages-dir вместо этого
    Системная переменная language
    Область действия Глобальная
    Динамическая Нет
    Тип Имя каталога
    Значение по умолчанию /usr/local/mysql/share/mysql/english/

    Язык для сообщений об ошибках. lang_name может быть указан как имя языка или как полное имя пути к каталогу, где установлены языковые файлы. См. Раздел 10.12, «Установка языка сообщений об ошибках».

    --lc-messages-dir и --lc-messages следует использовать вместо --language, который устарел (и обрабатывается как синоним для --lc-messages-dir). Следует ожидать, что параметр --language будет удален в будущей версии MySQL.

  • --large-pages

    Формат командной строки --large-pages[={OFF|ON}]
    Системная переменная large_pages
    Область действия Глобальная
    Динамическая Нет
    Специфично для платформы Linux
    Тип Булево
    Значение по умолчанию OFF

    Некоторые аппаратные/операционные архитектуры поддерживают страницы памяти больше, чем по умолчанию (обычно 4 КБ). Фактическая реализация этой поддержки зависит от базового оборудования и операционной системы. Приложения, которые выполняют много обращений к памяти, могут получить повышение производительности за счет использования больших страниц из-за уменьшения количества промахов в буфере преобразования адресов (TLB).

    MySQL поддерживает реализацию поддержки больших страниц в Linux (которая называется HugeTLB в Linux). См. Раздел 8.12.4.3, «Включение поддержки больших страниц». Для поддержки больших страниц в Solaris см. описание параметра --super-large-pages.

    --large-pages отключен по умолчанию.

  • --lc-messages=locale_name

    Формат командной строки --lc-messages=name
    Системная переменная lc_messages
    Область действия Глобальная, Сеанса
    Динамическая Да
    Тип Строка
    Значение по умолчанию en_US

    Локаль для сообщений об ошибках. Значение по умолчанию — en_US. Сервер преобразует аргумент в имя языка и объединяет его со значением --lc-messages-dir для получения местоположения файла сообщения об ошибке. См. Раздел 10.12, «Установка языка сообщений об ошибках».

  • --lc-messages-dir=dir_name

    Формат командной строки --lc-messages-dir=dir_name
    Системная переменная lc_messages_dir
    Область действия Глобальная
    Динамическая Нет
    Тип Имя каталога

    Каталог, где расположены сообщения об ошибках. Сервер использует это значение вместе со значением --lc-messages для получения местоположения файла сообщения об ошибке. См. Раздел 10.12, «Установка языка сообщений об ошибках».

  • --local-service

    Формат командной строки --local-service

    (Только для Windows) Параметр --local-service после имени службы приводит к тому, что сервер работает с использованием учетной записи Windows LocalService, которая имеет ограниченные системные права. Если указаны оба параметра --defaults-file и --local-service после имени службы, их порядок может быть любым. См. Раздел 2.3.4.8, «Запуск MySQL как службы Windows».

  • --log-error[=file_name]

    Формат командной строки --log-error[=file_name]
    Системная переменная log_error
    Область действия Глобальная
    Динамическая Нет
    Тип Имя файла

    Записывает журнал ошибок и сообщения о запуске в этот файл. См. Раздел 5.4.2, «Журнал ошибок».

    Если имя файла не указано, имя файла журнала ошибок в Unix и Unix-подобных системах — host_name.err в каталоге данных. Имя файла в Windows такое же, если не указан параметр --pid-file. В этом случае имя файла — базовое имя файла PID с суффиксом .err в каталоге данных.

    Если указано имя файла, файл журнала ошибок имеет это имя (с добавленным суффиксом .err, если имя не имеет суффикса), расположенный в каталоге данных, если не указано абсолютное имя пути для указания другого местоположения.

    В Windows --console имеет приоритет над --log-error, если указаны оба. В этом случае сервер записывает журнал ошибок в консоль, а не в файл. (В MySQL 5.5 и 5.6 это наоборот: --log-error имеет приоритет над --console, если указаны оба.)

  • --log-isam[=file_name]

    Командная строка --log-isam[=file_name]
    Тип Имя файла

    Записывать все MyISAM изменения в этот файл (используется только при отладке MyISAM).

  • --log-raw

    Командная строка --log-raw[={OFF|ON}]
    Тип Булево
    Значение по умолчанию OFF

    Пароли в определённых запросах, записываемых в общий журнал запросов, журнал медленных запросов и двоичный журнал, переписываются сервером так, чтобы не встречаться в открытом тексте. Перепись паролей может быть отключена для общего журнала запросов путём запуска сервера с опцией --log-raw. Эта опция может быть полезна для диагностических целей, чтобы увидеть точный текст запросов, как они получены сервером, но по соображениям безопасности не рекомендуется для использования в рабочей среде.

    Если плагин переписывания запросов установлен, опция --log-raw влияет на протоколирование запросов следующим образом:

    • Без --log-raw сервер регистрирует запрос, возвращённый плагином переписывания запросов. Это может отличаться от запроса, полученного.

    • С --log-raw сервер регистрирует исходный запрос, как он был получен.

    Более подробную информацию см. в разделе 6.1.2.3, «Пароли и протоколирование».

  • --log-short-format

    Командная строка --log-short-format[={OFF|ON}]
    Тип Булево
    Значение по умолчанию OFF

    Логировать меньше информации в журнал медленных запросов, если он активирован.

  • --log-tc=file_name

    Командная строка --log-tc=file_name
    Тип Имя файла
    Значение по умолчанию tc.log

    Имя файла журнала координатора транзакций в памяти (для транзакций XA, которые влияют на несколько движков хранения, когда двоичный журнал отключён). Имя по умолчанию — tc.log. Файл создаётся в каталоге данных, если не указан полный путь. Эта опция не используется.

  • --log-tc-size=size

    Командная строка --log-tc-size=#
    Тип Целое число
    Значение по умолчанию (64-битные платформы, ≥ 5.7.21) 6 * page size
    Значение по умолчанию (64-битные платформы, ≤ 5.7.20) 24576
    Значение по умолчанию (32-битные платформы, ≥ 5.7.21) 6 * page size
    Значение по умолчанию (32-битные платформы, ≤ 5.7.20) 24576
    Минимальное значение 6 * page size
    Максимальное значение (64-битные платформы) 18446744073709551615
    Максимальное значение (32-битные платформы) 4294967295

    Размер журнала координатора транзакций в байтах. Значения по умолчанию и минимальное значение составляют 6 раз размер страницы, а значение должно быть кратно размеру страницы. (До MySQL 5.7.21, размер по умолчанию составлял 24КБ.)

  • --log-warnings[=level], -W [level]

    Командная строка --log-warnings[=#]
    Устарело Да
    Системная переменная log_warnings
    Область Глобальная
    Динамическая Да
    Тип Целое число
    Значение по умолчанию 2
    Минимальное значение 0
    Максимальное значение (64-битные платформы) 18446744073709551615
    Максимальное значение (32-битные платформы) 4294967295
    Примечание

    Системная переменная log_error_verbosity предпочтительнее и должна использоваться вместо опции --log-warnings или системной переменной log_warnings. Более подробную информацию см. в описаниях log_error_verbosity и log_warnings. Командная строчная опция --log-warnings и системная переменная log_warnings устарели; ожидается, что они будут удалены в будущих выпусках MySQL.

    Определяет, будут ли генерироваться дополнительные предупреждающие сообщения в журнал ошибок. Эта опция включена по умолчанию. Чтобы её отключить, используйте --log-warnings=0. Указание опции без значения level увеличивает текущее значение на 1. Сервер записывает сообщения о запросах, небезопасных для протоколирования на основе запросов, если значение больше 0. Отменённые соединения и ошибки доступа для новых попыток подключения регистрируются, если значение больше 1. См. раздел B.3.2.9, «Ошибки связи и отменённые соединения».

  • --memlock

    Командная строка --memlock[={OFF|ON}]
    Тип Булево
    Значение по умолчанию OFF

    Заблокировать процесс mysqld в памяти. Эта опция может помочь, если у вас проблема, где операционная система заставляет mysqld производить подкачку на диск.

    --memlock работает на системах, поддерживающих системный вызов mlockall(); это включает Solaris, большинство дистрибутивов Linux, использующих ядро 2.4 или более позднюю версию, и, возможно, другие Unix-системы. В системах Linux вы можете определить, поддерживается ли mlockall() (и, следовательно, эта опция) путём проверки определения в системном файле mman.h, например так:

    $> grep mlockall /usr/include/sys/mman.h
    

    Если mlockall() поддерживается, в выводе предыдущей команды вы должны увидеть что-то вроде следующего:

    extern int mlockall (int __flags) __THROW;
    
    Важно

    Использование этой опции может потребовать запуска сервера от имени пользователя root, что по соображениям безопасности обычно не рекомендуется. См. раздел 6.1.5, «Как запустить MySQL как обычный пользователь».

    В системах Linux и, возможно, в других системах вы можете избежать необходимости запуска сервера от имени пользователя root, изменив файл limits.conf. См. примечания относительно ограничения memlock в разделе 8.12.4.3, «Включение поддержки страниц большого размера».

    Не используйте эту опцию в системе, которая не поддерживает системный вызов mlockall(); в противном случае mysqld очень вероятно завершится сразу же при попытке запуска.

  • --myisam-block-size=N

    Командная строка --myisam-block-size=#
    Тип Целое число
    Значение по умолчанию 1024
    Минимальное значение 1024
    Максимальное значение 16384

    Размер блока для использования в страницах индексов MyISAM.

  • --no-defaults

    Не читать файлы параметров. Если запуск программы завершается ошибкой из-за чтения неизвестных параметров из файла параметров, --no-defaults можно использовать для предотвращения их чтения. Этот параметр должен быть первым в командной строке, если он используется.

    Дополнительную информацию об этом и других параметрах файлов параметров см. в разделе 4.2.2.3 «Параметры командной строки, влияющие на обработку файлов параметров».

  • --old-style-user-limits

    Формат командной строки --old-style-user-limits[={OFF|ON}]
    Тип Булево
    Значение по умолчанию OFF

    Включить ограничения на использование ресурсов старого стиля. (До MySQL 5.0.3 ограничения ресурсов учетной записи подсчитывались отдельно для каждого хоста, с которого подключался пользователь, а не по строке учетной записи в таблице user). См. раздел 6.2.16 «Настройка ограничений ресурсов учетных записей».

  • --partition[=value]

    Формат командной строки --partition[={OFF|ON}]
    Устарело 5.7.16
    Отключено в skip-partition
    Тип Булево
    Значение по умолчанию ON

    Включает или отключает поддержку разбиения данных, определенного пользователем, в MySQL Server.

    Этот параметр устарел в MySQL 5.7.16 и удален из MySQL 8.0, так как в MySQL 8.0 движок разбиения заменен на встроенное разбиение, которое нельзя отключить.

  • --performance-schema-xxx

    Настройка параметра Performance Schema. Подробнее см. в разделе 25.14 «Командные параметры Performance Schema».

  • --plugin-load=plugin_list

    Формат командной строки --plugin-load=plugin_list
    Тип Строка

    Этот параметр сообщает серверу загрузить указанные плагины при запуске. Если задано несколько параметров --plugin-load, применится только последний. Дополнительные плагины для загрузки можно указать с помощью параметров --plugin-load-add.

    Значение параметра — список плагинов, разделенных точкой с запятой. Каждый plugin_library — имя файла библиотеки, содержащей код плагина, а каждый name — имя загружаемого плагина. Если имя файла библиотеки указано без имени плагина, сервер загружает все плагины из этой библиотеки. С именем плагина сервер загружает только указанный плагин из библиотеки. Сервер ищет файлы библиотек плагинов в каталоге, указанном переменной системы plugin_dir.

    Например, если плагины с именами myplug1 и myplug2 содержатся в файлах библиотек плагинов myplug1.so и myplug2.so, используйте этот параметр для ранней загрузки плагинов:

    mysqld --plugin-load="myplug1=myplug1.so;myplug2=myplug2.so"
    

    Кавычки окружают значение аргумента, потому что в противном случае некоторые интерпретаторы команд рассматривают точку с запятой (;) как специальный символ. (Например, оболочки Unix интерпретируют её как разделитель команд.)

    Каждый указанный плагин загружается только для одного запуска mysqld. После перезапуска плагин не загружается, если --plugin-load не используется повторно. Это в отличие от INSTALL PLUGIN, которая добавляет запись в таблицу mysql.plugins, чтобы плагин загружался при каждом нормальном запуске сервера.

    В ходе обычной последовательности запуска сервер определяет, какие плагины загрузить, считывая таблицу системы mysql.plugins. Если сервер запускается с параметром --skip-grant-tables, плагины, зарегистрированные в таблице mysql.plugins, не загружаются и недоступны. --plugin-load позволяет загружать плагины даже при использовании --skip-grant-tables. --plugin-load также позволяет загружать плагины при запуске, которые нельзя загрузить во время выполнения.

    Этот параметр не устанавливает соответствующую переменную системы. Вывод SHOW PLUGINS содержит информацию о загруженных плагинах. Более подробная информация содержится в таблице Информационной схемы PLUGINS. См. раздел 5.5.2 «Получение информации о плагинах сервера».

    Дополнительную информацию о загрузке плагинов см. в разделе 5.5.1 «Установка и удаление плагинов».

  • --plugin-load-add=plugin_list

    Формат командной строки --plugin-load-add=plugin_list
    Тип Строка

    Этот параметр дополняет параметр --plugin-load. --plugin-load-add добавляет плагин или плагины к набору плагинов, которые должны быть загружены при запуске. Формат аргумента совпадает с форматом --plugin-load. --plugin-load-add позволяет избежать указания большого набора плагинов в виде одного длинного и громоздкого аргумента --plugin-load.

    --plugin-load-add можно использовать без --plugin-load, но любое использование --plugin-load-add до появления --plugin-load не имеет эффекта, потому что --plugin-load сбрасывает набор плагинов для загрузки. Другими словами, эти параметры:

    --plugin-load=x --plugin-load-add=y
    

    эквивалентны этому параметру:

    --plugin-load="x;y"
    

    Но эти параметры:

    --plugin-load-add=y --plugin-load=x
    

    эквивалентны этому параметру:

    --plugin-load=x
    

    Этот параметр не устанавливает соответствующую переменную системы. Вывод SHOW PLUGINS содержит информацию о загруженных плагинах. Более подробная информация содержится в таблице Информационной схемы PLUGINS. См. раздел 5.5.2 «Получение информации о плагинах сервера».

    Дополнительную информацию о загрузке плагинов см. в разделе 5.5.1 «Установка и удаление плагинов».

  • --plugin-xxx

    Указывает параметр, относящийся к плагину сервера. Например, многие движки хранения данных могут быть реализованы как плагины, и для таких движков параметры могут быть указаны с префиксом --plugin. Таким образом, параметр --innodb-file-per-table для InnoDB может быть указан как --plugin-innodb-file-per-table.

    Для логических параметров, которые могут быть включены или выключены, также поддерживаются префикс --skip и другие альтернативные форматы (см. Раздел 4.2.2.4, «Модификаторы параметров программы»). Например, --skip-plugin-innodb-file-per-table отключает innodb-file-per-table.

    Причина использования префикса --plugin заключается в том, что он позволяет однозначно указать параметры плагинов, если существует конфликт имён с встроенным параметром сервера. Например, если разработчик плагина назовёт плагин “sql” и реализует параметр “mode”, имя параметра может быть --sql-mode, что создаст конфликт с встроенным параметром с таким же именем. В таких случаях ссылки на конфликтное имя разрешаются в пользу встроенного параметра. Чтобы избежать неоднозначности, пользователи могут указать параметр плагина как --plugin-sql-mode. Рекомендуется использовать префикс --plugin для параметров плагинов, чтобы избежать любых вопросов о неоднозначности.

  • --port=port_num, -P port_num

    Формат командной строки --port=port_num
    Системная переменная port
    Область действия Глобальная
    Динамический Нет
    Тип Целое число
    Значение по умолчанию 3306
    Минимальное значение 0
    Максимальное значение 65535

    Номер порта, используемый для прослушивания подключений TCP/IP. В системах Unix и Unix-подобных системах номер порта должен быть 1024 или выше, если сервер не запускается пользователем операционной системы root. Установка этого параметра в 0 приводит к использованию значения по умолчанию.

  • --port-open-timeout=num

    Формат командной строки --port-open-timeout=#
    Тип Целое число
    Значение по умолчанию 0

    В некоторых системах при остановке сервера порт TCP/IP может не стать доступным сразу. Если сервер будет перезапущен сразу после этого, попытка повторного открытия порта может завершиться неудачей. Этот параметр указывает, сколько секунд сервер должен ждать, пока порт TCP/IP освободится, если его нельзя открыть. По умолчанию ожидание не производится.

  • --print-defaults

    Выводит имя программы и все параметры, полученные из файлов параметров. Значения паролей замаскированы. Если этот параметр используется, он должен быть первым параметром в командной строке, за исключением случаев, когда он используется сразу после --defaults-file или --defaults-extra-file.

    Дополнительную информацию об этом и других параметрах файлов параметров см. в Разделе 4.2.2.3, «Параметры командной строки, влияющие на обработку файлов параметров».

  • --remove [service_name]

    Формат командной строки --remove [service_name]
    Специфично для платформы Windows

    (Только Windows) Удаляет службу MySQL в Windows. Имя службы по умолчанию — MySQL, если не указано значение service_name. Дополнительную информацию см. в Разделе 2.3.4.8, «Запуск MySQL как службы Windows».

  • --safe-user-create

    Формат командной строки --safe-user-create[={OFF|ON}]
    Тип Булево
    Значение по умолчанию OFF

    Если этот параметр включён, пользователь не может создавать новых пользователей MySQL с помощью оператора GRANT, если у пользователя нет привилегии INSERT для системной таблицы mysql.user или любой колонки в таблице. Если вы хотите, чтобы пользователь мог создавать новых пользователей с привилегиями, которые у него есть право предоставить, вы должны предоставить пользователю следующую привилегию:

    GRANT INSERT(user) ON mysql.user TO 'user_name'@'host_name';
    

    Это гарантирует, что пользователь не может изменять столбцы привилегий напрямую, но должен использовать оператор GRANT для предоставления привилегий другим пользователям.

  • --skip-grant-tables

    Формат командной строки --skip-grant-tables[={OFF|ON}]
    Тип Булево
    Значение по умолчанию OFF

    Этот параметр влияет на последовательность запуска сервера:

    • --skip-grant-tables приводит к тому, что сервер не считывает таблицы разрешений в базе данных mysql системы и, таким образом, запускается без использования системы привилегий. Это даёт любому, у кого есть доступ к серверу, неограниченный доступ ко всем базам данных.

      Чтобы заставить сервер, запущенный с --skip-grant-tables, загружать таблицы разрешений во время выполнения, выполните операцию сброса привилегий, которая может быть выполнена следующими способами:

      • Выполните оператор MySQL FLUSH PRIVILEGES после подключения к серверу.

      • Выполните команду mysqladmin flush-privileges или mysqladmin reload из командной строки.

      Сброс привилегий также может происходить неявно в результате других действий, выполненных после запуска, что приводит к тому, что сервер начинает использовать таблицы разрешений. Например, mysql_upgrade сбрасывает привилегии во время процедуры обновления.

    • --skip-grant-tables приводит к тому, что сервер не загружает определённые другие объекты, зарегистрированные в базе данных mysql системы:

      • Плагины, установленные с помощью INSTALL PLUGIN и зарегистрированные в таблице mysql.plugin системы.

        Чтобы вызвать загрузку плагинов даже при использовании --skip-grant-tables, используйте параметр --plugin-load или --plugin-load-add.

      • Расписанные события, установленные с помощью CREATE EVENT и зарегистрированные в таблице mysql.event системы.

      • Загружаемые функции, установленные с помощью CREATE FUNCTION и зарегистрированные в таблице mysql.func системы.

    • --skip-grant-tables приводит к тому, что системная переменная disabled_storage_engines не имеет эффекта.

  • --skip-host-cache

    Формат командной строки --skip-host-cache

    Отключить использование внутренней кэш-памяти хоста для более быстрого преобразования имен в IP-адреса. При отключении кэша сервер выполняет поиск DNS каждый раз при подключении клиента.

    Использование --skip-host-cache аналогично установке системной переменной host_cache_size в значение 0, но host_cache_size более гибкая, поскольку её можно использовать для изменения размера, включения или отключения кэша хоста во время работы, а не только при запуске сервера.

    Запуск сервера с --skip-host-cache не препятствует изменениям значения host_cache_size во время работы, но такие изменения не имеют эффекта, и кэш не включается даже если host_cache_size установлено больше 0.

    Дополнительную информацию о работе кэша хоста см. в Разделе 5.1.11.2, «DNS-запросы и кэш хоста».

  • --skip-innodb

    Отключить движок хранения данных InnoDB. В этом случае, так как по умолчанию используется движок хранения данных InnoDB, сервер не может запуститься, если вы не используете также --default-storage-engine и --default-tmp-storage-engine для установки значения по умолчанию для таблиц постоянного и временного хранения TEMPORARY.

    Движок хранения данных InnoDB не может быть отключен, и опция --skip-innodb устарела и не имеет эффекта. Её использование приводит к предупреждению. Ожидайте удаления этой опции в будущих версиях MySQL.

  • --skip-new

    Формат командной строки --skip-new

    Эта опция отключает (то, что раньше считалось) новые, потенциально небезопасные действия. Это приводит к следующим настройкам: delay_key_write=OFF, concurrent_insert=NEVER, automatic_sp_privileges=OFF. Она также заставляет OPTIMIZE TABLE отображаться как ALTER TABLE для движков хранения, для которых OPTIMIZE TABLE не поддерживается.

  • --skip-partition

    Формат командной строки

    --skip-partition

    --disable-partition

    Устаревшее 5.7.16

    Отключает пользовательское разбиение таблиц. Разбитые таблицы можно увидеть с помощью SHOW TABLES или запросом к таблице схемы информации TABLES, но нельзя создавать, изменять или получать доступ к данным в таких таблицах. Все столбцы, специфичные для разбиения, в таблице схемы информации PARTITIONS отображают NULL.

    Так как DROP TABLE удаляет определение таблицы (.frm) файлы, эта команда работает с разбиением таблиц даже при отключенном разбиении. Однако, команда не удаляет определения разделов, связанные с разбиением таблиц в таких случаях. По этой причине следует избегать удаления разбиений таблиц с отключенным разбиением или принять меры для удаления неиспользуемых файлов .par вручную (если они присутствуют).

    Примечание

    В MySQL 5.7 файлы определения разбиения (.par) больше не создаются для разбиений InnoDB таблиц. Вместо этого определения разбиения хранятся в внутренней базе данных InnoDB. Файлы определения разбиения (.par) по-прежнему используются для разбиений MyISAM таблиц.

    Эта опция устарела в MySQL 5.7.16 и удалена в MySQL 8.0, потому что в MySQL 8.0 движок разбиения заменён на встроенное разбиение, которое нельзя отключить.

  • --skip-show-database

    Формат командной строки --skip-show-database
    Системная переменная skip_show_database
    Область действия Глобальная
    Динамическая Нет
    Тип Логический
    Значение по умолчанию OFF

    Эта опция устанавливает системную переменную skip_show_database, которая контролирует разрешение на использование оператора SHOW DATABASES. См. Раздел 5.1.7, «Системные переменные сервера».

  • --skip-stack-trace

    Формат командной строки --skip-stack-trace

    Не записывать трассировки стека. Эта опция полезна при запуске mysqld под отладчиком. На некоторых системах для получения файла core также необходимо использовать эту опцию. См. Раздел 5.8, «Отладка MySQL».

  • --slow-start-timeout=timeout

    Формат командной строки --slow-start-timeout=#
    Тип Целое число
    Значение по умолчанию 15000

    Эта опция контролирует время ожидания запуска службы Windows Service Control Manager. Значение — максимальное количество миллисекунд, которое менеджер управления службами ожидает, прежде чем попытаться убить службу Windows при запуске. Значение по умолчанию составляет 15000 (15 секунд). Если служба MySQL слишком долго запускается, вам может потребоваться увеличить это значение. Значение 0 означает, что таймаута нет.

  • --socket=path

    Формат командной строки --socket={file_name|pipe_name}
    Системная переменная socket
    Область действия Глобальная
    Динамическая Нет
    Тип Строка
    Значение по умолчанию (Windows) MySQL
    Значение по умолчанию (другие) /tmp/mysql.sock

    В Unix эта опция задаёт имя файла сокета Unix, который будет использоваться при прослушивании локальных соединений. Значение по умолчанию — /tmp/mysql.sock. Если эта опция задана, сервер создаёт файл в каталоге данных, если не указан абсолютный путь для указания другого каталога. В Windows эта опция указывает имя канала, которое будет использоваться при прослушивании локальных соединений, использующих именованный канал. Значение по умолчанию — MySQL (регистр не важен).

  • --sql-mode=value[,value[,value...]]

    Формат командной строки --sql-mode=name
    Системная переменная sql_mode
    Область видимости Глобальная, сессии
    Динамическая Да
    Тип Set
    Значение по умолчанию ONLY_FULL_GROUP_BY STRICT_TRANS_TABLES NO_ZERO_IN_DATE NO_ZERO_DATE ERROR_FOR_DIVISION_BY_ZERO NO_AUTO_CREATE_USER NO_ENGINE_SUBSTITUTION
    Допустимые значения

    ALLOW_INVALID_DATES

    ANSI_QUOTES

    ERROR_FOR_DIVISION_BY_ZERO

    HIGH_NOT_PRECEDENCE

    IGNORE_SPACE

    NO_AUTO_CREATE_USER

    NO_AUTO_VALUE_ON_ZERO

    NO_BACKSLASH_ESCAPES

    NO_DIR_IN_CREATE

    NO_ENGINE_SUBSTITUTION

    NO_FIELD_OPTIONS

    NO_KEY_OPTIONS

    NO_TABLE_OPTIONS

    NO_UNSIGNED_SUBTRACTION

    NO_ZERO_DATE

    NO_ZERO_IN_DATE

    ONLY_FULL_GROUP_BY

    PAD_CHAR_TO_FULL_LENGTH

    PIPES_AS_CONCAT

    REAL_AS_FLOAT

    STRICT_ALL_TABLES

    STRICT_TRANS_TABLES

    Установите режим SQL. См. Раздел 5.1.10, «Режимы SQL сервера».

    Примечание

    Программы установки MySQL могут настраивать режим SQL во время процесса установки. Если режим SQL отличается от значения по умолчанию или от того, что вы ожидаете, проверьте наличие параметра в файле параметров, который сервер считывает при запуске.

  • --ssl, --skip-ssl

    Формат командной строки --ssl[={OFF|ON}]
    Отключено skip-ssl
    Тип Boolean
    Значение по умолчанию ON

    Параметр --ssl указывает, что сервер разрешает, но не требует зашифрованные соединения. Этот параметр включен по умолчанию.

    --ssl может быть указан в отрицательной форме как --skip-ssl или синоним (--ssl=OFF, --disable-ssl). В этом случае параметр указывает, что сервер не разрешает зашифрованные соединения, независимо от настроек системных переменных tls_xxx и ssl_xxx.

    Для получения дополнительной информации о настройке разрешения сервером подключения клиентов с использованием SSL и указания места нахождения ключей и сертификатов SSL см. Раздел 6.3.1, «Настройка MySQL для использования зашифрованных соединений», в котором также описываются возможности сервера для автоматического создания и обнаружения файлов сертификатов и ключей. Рассмотрите возможность установки как минимум системных переменных ssl_cert и ssl_key на стороне сервера и параметра --ssl-ca (или --ssl-capath) на стороне клиента.

  • --standalone

    Формат командной строки --standalone
    Специфично для платформы Windows

    Доступно только в Windows; указывает серверу MySQL не запускаться как служба.

  • --super-large-pages

    Формат командной строки --super-large-pages[={OFF|ON}]
    Специфично для платформы Solaris
    Тип Boolean
    Значение по умолчанию OFF

    Стандартное использование больших страниц в MySQL пытается использовать максимально поддерживаемый размер до 4 МБ. В Solaris функция “сверхбольших страниц” позволяет использовать страницы размером до 256 МБ. Эта функция доступна для последних платформ SPARC. Ее можно включить или выключить с помощью параметра --super-large-pages или --skip-super-large-pages.

  • --symbolic-links, --skip-symbolic-links

    Формат командной строки --symbolic-links[={OFF|ON}]
    Тип Boolean
    Значение по умолчанию ON

    Включить или отключить поддержку символических ссылок. В Unix включение символических ссылок означает, что вы можете связать MyISAM индексный файл или файл данных с другим каталогом с помощью параметра INDEX DIRECTORY или DATA DIRECTORY оператора CREATE TABLE. Если вы удалите или переименуете таблицу, файлы, на которые указывают ее символические ссылки, также будут удалены или переименованы. См. Раздел 8.12.3.2, «Использование символических ссылок для таблиц MyISAM в Unix».

    Этот параметр не имеет значения в Windows.

  • --sysdate-is-now

    Формат командной строки --sysdate-is-now[={OFF|ON}]
    Тип Boolean
    Значение по умолчанию OFF

    SYSDATE() по умолчанию возвращает время своего выполнения, а не время начала выполнения оператора, в котором он находится. Это отличается от поведения NOW(). Этот параметр делает SYSDATE() синонимом NOW(). Для получения информации о последствиях для бинарного логирования и репликации см. описание для SYSDATE() в Разделе 12.7, «Функции даты и времени» и для SET TIMESTAMP в Разделе 5.1.7, «Системные переменные сервера».

  • --tc-heuristic-recover={COMMIT|ROLLBACK}

    Формат командной строки --tc-heuristic-recover=name
    Тип Enumeration
    Значение по умолчанию OFF
    Допустимые значения

    OFF

    COMMIT

    ROLLBACK

    Решение об использовании в ручном эвристическом восстановлении.

    Если указан параметр --tc-heuristic-recover, сервер завершает работу независимо от того, успешно ли выполнено ручное эвристическое восстановление.

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

    [ERROR] --tc-heuristic-recover rollback
    strategy is not safe on systems with more than one 2-phase-commit-capable
    storage engine. Aborting crash recovery.
  • --temp-pool

    Формат командной строки --temp-pool[={OFF|ON}]
    Устарел 5.7.18
    Тип Boolean
    Значение по умолчанию (Linux) ON
    Значение по умолчанию (Другие) OFF

    Этот параметр игнорируется, за исключением Linux. В Linux он заставляет большинство временных файлов, созданных сервером, использовать небольшой набор имен, а не уникальное имя для каждого нового файла. Это обходит проблему в ядре Linux, связанную с созданием многих новых файлов с разными именами. При старом поведении Linux, по-видимому, “утечка” памяти, поскольку она выделяется для кэша записей каталога, а не для кэша диска.

    Начиная с MySQL 5.7.18, этот параметр устарел и удален в MySQL 8.0.

  • --transaction-isolation=level

    Формат командной строки --transaction-isolation=name
    Системная переменная (≥ 5.7.20) transaction_isolation
    Область видимости (≥ 5.7.20) Глобальная, сессии
    Динамическая (≥ 5.7.20) Да
    Тип Перечисление
    Значение по умолчанию REPEATABLE-READ
    Допустимые значения

    READ-UNCOMMITTED

    READ-COMMITTED

    REPEATABLE-READ

    SERIALIZABLE

    Устанавливает уровень изоляции транзакций по умолчанию. Значение level может быть READ-UNCOMMITTED, READ-COMMITTED, REPEATABLE-READ или SERIALIZABLE. См. Раздел 13.3.6, «Оператор SET TRANSACTION».

    Уровень изоляции транзакций по умолчанию также можно установить во время выполнения с помощью оператора SET TRANSACTION или установив системную переменную tx_isolation (или, начиная с MySQL 5.7.20, transaction_isolation).

  • --transaction-read-only

    Формат командной строки --transaction-read-only[={OFF|ON}]
    Системная переменная (≥ 5.7.20) transaction_read_only
    Область видимости (≥ 5.7.20) Глобальная, сессии
    Динамическая (≥ 5.7.20) Да
    Тип Булево
    Значение по умолчанию OFF

    Устанавливает режим доступа к транзакциям по умолчанию. По умолчанию режим только для чтения отключен, поэтому режим — чтение/запись.

    Чтобы установить режим доступа к транзакциям по умолчанию во время выполнения, используйте оператор SET TRANSACTION или установите системную переменную tx_read_only (или, начиная с MySQL 5.7.20, transaction_read_only). См. Раздел 13.3.6, «Оператор SET TRANSACTION».

  • --tmpdir=dir_name, -t dir_name

    Формат командной строки --tmpdir=dir_name
    Системная переменная tmpdir
    Область видимости Глобальная
    Динамическая Нет
    Тип Имя каталога

    Путь к каталогу, используемому для создания временных файлов. Это может быть полезно, если ваш каталог /tmp по умолчанию находится на разделе, который слишком мал для хранения временных таблиц. Этот параметр принимает несколько путей, которые используются в режиме «круговой очереди». Пути должны разделяться двоеточиями (:) в Unix и точками с запятой (;) в Windows.

    --tmpdir может быть не постоянным местоположением, например, каталогом в файловой системе на основе памяти или каталогом, который очищается при перезапуске хоста сервера. Если сервер MySQL выступает в качестве реплики, и вы используете не постоянное местоположение для --tmpdir, рассмотрите возможность установки другого временного каталога для реплики с помощью системной переменной slave_load_tmpdir. Для реплики репликации временные файлы, используемые для репликации операторов LOAD DATA, хранятся в этом каталоге, поэтому с постоянным местоположением они могут сохраняться после перезагрузки компьютера, хотя репликация теперь может продолжаться после перезагрузки, если временные файлы были удалены.

    Для получения дополнительной информации о местоположении хранения временных файлов см. Раздел B.3.3.5, «Где MySQL хранит временные файлы».

  • --user={user_name|user_id}, -u {user_name|user_id}

    Формат командной строки --user=name
    Тип Строка

    Запустите сервер mysqld от имени пользователя с именем user_name или числовым идентификатором пользователя user_id. («Пользователь» в данном контексте относится к учетной записи входа в систему, а не к пользователю MySQL, указанному в таблицах предоставления прав.)

    Этот параметр обязателен при запуске mysqld как root. Сервер изменяет свой идентификатор пользователя во время своей последовательности запуска, заставляя его работать от имени этого конкретного пользователя, а не от имени root. См. Раздел 6.1.1, «Рекомендации по безопасности».

    Чтобы избежать возможной уязвимости в системе безопасности, когда пользователь добавляет параметр --user=root в файл my.cnf (тем самым заставляя сервер работать от имени root), mysqld использует только первый указанный параметр --user и выдает предупреждение, если есть несколько параметров --user. Параметры в /etc/my.cnf и $MYSQL_HOME/my.cnf обрабатываются до параметров командной строки, поэтому рекомендуется поместить параметр --user в /etc/my.cnf и указать значение, отличное от root. Параметр в /etc/my.cnf найден до любых других параметров --user, что гарантирует, что сервер работает от имени пользователя, отличного от root, и что возникает предупреждение, если найден любой другой параметр --user.

  • --validate-user-plugins[={OFF|ON}]

    Формат командной строки --validate-user-plugins[={OFF|ON}]
    Тип Булево
    Значение по умолчанию ON

    Если этот параметр включен (по умолчанию), сервер проверяет каждую учетную запись пользователя и выдает предупреждение, если обнаружены условия, которые сделают учетную запись непригодной для использования:

    • Учетная запись требует плагина аутентификации, который не загружен.

    • Учетная запись требует плагина аутентификации sha256_password, но сервер был запущен без включенного SSL или RSA, как того требует этот плагин.

    Включение --validate-user-plugins замедляет инициализацию сервера и FLUSH PRIVILEGES. Если вам не требуется дополнительная проверка, вы можете отключить этот параметр при запуске, чтобы избежать снижения производительности.

  • --verbose, -v

    Используйте этот параметр с параметром --help для получения подробной справки.

  • --version, -V

    Отобразить информацию о версии и завершить работу.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-5.7-en/server-options.html

Spec-Zone.ru

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