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[={OFF|ON}]Тип Булево Значение по умолчанию OFFДанный параметр управляет возможностью загрузки загружаемых функций, имеющих только символ
xxxдля основной функции. По умолчанию параметр выключен, и загружаются только функции, имеющие по крайней мере один вспомогательный символ; это предотвращает попытки загрузки функций из файлов общих объектов, кроме тех, которые содержат законные функции. См. Меры предосторожности в отношении безопасности загружаемых функций. -
Формат командной строки --ansiИспользовать стандартный (ANSI) синтаксис SQL вместо синтаксиса MySQL. Для более точного управления режимом SQL сервера используйте параметр
--sql-modeвместо этого. См. Раздел 1.6, «Соответствие MySQL стандартам» и Раздел 5.1.10, «Режимы SQL сервера». -
--basedir=,dir_name-bdir_nameФормат командной строки --basedir=dir_nameПеременная системы basedirОбласть Глобальная Динамическая Нет Тип Имя каталога Значение по умолчанию configuration-dependent defaultПуть к каталогу установки MySQL. Этот параметр устанавливает переменную системы
basedir. -
Формат командной строки --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-rdir_nameФормат командной строки --chroot=dir_nameТип Имя каталога Поместить сервер mysqld в изолированную среду во время запуска, используя вызов
chroot(). Это рекомендуемая мера безопасности. Использование этого параметра несколько ограничиваетLOAD DATAиSELECT ... INTO OUTFILE. -
Формат командной строки --consoleПлатформозависимый Windows (Только Windows.) Записать журнал ошибок в
stderrиstdout(консоль). mysqld не закрывает окно консоли, если используется этот параметр.--consoleимеет приоритет над--log-error, если оба заданы. (В MySQL 5.5 и 5.6 это наоборот:--log-errorимеет приоритет над--console, если оба заданы.)
-
Формат командной строки --core-fileПри использовании этого параметра, если mysqld завершит работу аварийно, создается файл core; для этого не нужны (и не принимаются) аргументы. Имя и расположение файла core зависят от операционной системы. В Linux файл core с именем
core.записывается в текущую рабочую директорию процесса, которая для mysqld является каталогом данных.pidpidпредставляет собой идентификатор процесса серверного процесса. В 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[={OFF|ON}]Тип Булево Значение по умолчанию OFFЭтот параметр заставляет сервер работать как традиционный демонический процесс с разветвлением, что позволяет ему работать с операционными системами, использующими systemd для управления процессами. Дополнительную информацию см. в Разделе 2.5.10, «Управление сервером MySQL с помощью systemd».
--daemonizeнесовместим с--bootstrap,--initializeи--initialize-insecure. -
--datadir=,dir_name-hdir_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=1CMake, этот параметр позволяет получить файл трассировки действий mysqld. Типичная строкаdebug_optionsимеет видd:t:o,. По умолчанию значение —file_named: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[=#]Тип Целое число Управляет включением механизма Debug Sync для тестирования и отладки. Использование Debug Sync требует конфигурации MySQL с параметром
-DWITH_DEBUG=ONCMake (см. Раздел 2.8.7, «Параметры конфигурации источника MySQL»). Если Debug Sync не скомпилирован, этот параметр недоступен. Значение параметра — таймаут в секундах. Значение по умолчанию 0, что отключает Debug Sync. Для включения укажите значение больше 0; это значение также становится таймаутом по умолчанию для отдельных точек синхронизации. Если параметр указан без значения, таймаут устанавливается в 300 секунд.Описание механизма Debug Sync и способ использования точек синхронизации см. на странице MySQL Internals: Test Synchronization.
-
Формат командной строки --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, «Параметры командной строки, влияющие на обработку файлов параметров».
-
Считывает только указанный файл параметров. Если файла не существует или он недоступен, возникает ошибка. Если
file_nameне является абсолютным путем, он интерпретируется относительно текущей директории.ПримечаниеЭтот параметр должен быть первым в командной строке, если используется, за исключением случая, когда сервер запускается с параметрами
--defaults-fileи--install(или--install-manual), в этом случае--install(или--install-manual) должен быть первым.Дополнительную информацию об этом и других параметрах файлов параметров см. в Разделе 4.2.2.3, «Параметры командной строки, влияющие на обработку файлов параметров».
-
Читайте не только обычные группы опций, но также группы с обычными именами и суффиксом
str. Например, mysqld обычно читает группу[mysqld]. Если эта опция задана как--defaults-group-suffix=_other, mysqld также читает группу[mysqld_other].Дополнительную информацию об этой и других опциях файла опций см. в разделе 4.2.2.3, «Опции командной строки, влияющие на обработку файлов опций».
-
Формат командной строки --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_nameENGINE = 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, «Установка и удаление плагинов».
-
--exit-info[=,flags]-T [flags]Формат командной строки --exit-info[=flags]Тип Целое число Это битовая маска различных флагов, которые можно использовать для отладки сервера mysqld. Не используйте этот параметр, если вы не знаете точно, что он делает!
-
Формат командной строки --external-locking[={OFF|ON}]Тип Булево Значение по умолчанию OFFВключить внешнюю блокировку (блокировку системы), которая по умолчанию отключена. Если вы используете этот параметр на системе, на которой
lockdне работает должным образом (например, Linux), mysqld легко может попасть в тупик.Чтобы явно отключить внешнюю блокировку, используйте
--skip-external-locking.Внешняя блокировка влияет только на доступ к таблицам
MyISAM. Для получения дополнительной информации, включая условия, при которых она может и не может быть использована, см. Раздел 8.11.5, «Внешняя блокировка». -
Формат командной строки --flush[={OFF|ON}]Переменная системы flushОбласть действия Глобальная Динамическая Да Тип Булево Значение по умолчанию OFFОчистить (синхронизировать) все изменения на диске после каждой SQL-команды. Обычно MySQL выполняет запись всех изменений на диск только после каждой SQL-команды и позволяет операционной системе выполнить синхронизацию с диском. См. Раздел B.3.3.3, «Что делать, если MySQL продолжает сбоить».
ПримечаниеЕсли задан параметр
--flush, значениеflush_timeне имеет значения, а измененияflush_timeне влияют на поведение очистки. -
Формат командной строки --gdb[={OFF|ON}]Тип Булево Значение по умолчанию OFFУстанавливает обработчик прерываний для
SIGINT(необходим для остановки mysqld с^Cдля установки точек останова) и отключает отслеживание стека и обработку файлов core. См. Раздел 5.8.1.4, «Отладка mysqld с помощью gdb». -
Формат командной строки --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[={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[={OFF|ON}]Тип Булево Значение по умолчанию OFFЭтот параметр используется для инициализации установки MySQL путем создания каталога данных и заполнения таблиц в базе данных системы
mysql. Этот параметр подразумевает--initialize, и те же ограничения и ограничения применяются; для получения дополнительной информации см. описание этого параметра и Раздел 2.9.1, «Инициализация каталога данных».ПредупреждениеЭтот параметр создает пользователя MySQL
rootс пустым паролем, что небезопасно. По этой причине не используйте его в рабочей среде без ручного задания этого пароля. См. Раздел «Назначение пароля root после инициализации» для получения информации о том, как это сделать. -
--innodb-xxxУстановите параметр для хранилища
InnoDB. ПараметрыInnoDBперечислены в Разделе 14.15, «Параметры запуска InnoDB и системные переменные».
-
Формат командной строки --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, -Llang_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[={OFF|ON}]Системная переменная large_pagesОбласть действия Глобальная Динамическая Нет Специфично для платформы Linux Тип Булево Значение по умолчанию OFFНекоторые аппаратные/операционные архитектуры поддерживают страницы памяти больше, чем по умолчанию (обычно 4 КБ). Фактическая реализация этой поддержки зависит от базового оборудования и операционной системы. Приложения, которые выполняют много обращений к памяти, могут получить повышение производительности за счет использования больших страниц из-за уменьшения количества промахов в буфере преобразования адресов (TLB).
MySQL поддерживает реализацию поддержки больших страниц в Linux (которая называется HugeTLB в Linux). См. Раздел 8.12.4.3, «Включение поддержки больших страниц». Для поддержки больших страниц в Solaris см. описание параметра
--super-large-pages.--large-pagesотключен по умолчанию. -
Формат командной строки --lc-messages=nameСистемная переменная lc_messagesОбласть действия Глобальная, Сеанса Динамическая Да Тип Строка Значение по умолчанию en_USЛокаль для сообщений об ошибках. Значение по умолчанию —
en_US. Сервер преобразует аргумент в имя языка и объединяет его со значением--lc-messages-dirдля получения местоположения файла сообщения об ошибке. См. Раздел 10.12, «Установка языка сообщений об ошибках». -
Формат командной строки --lc-messages-dir=dir_nameСистемная переменная lc_messages_dirОбласть действия Глобальная Динамическая Нет Тип Имя каталога Каталог, где расположены сообщения об ошибках. Сервер использует это значение вместе со значением
--lc-messagesдля получения местоположения файла сообщения об ошибке. См. Раздел 10.12, «Установка языка сообщений об ошибках». -
Формат командной строки --local-service(Только для Windows) Параметр
--local-serviceпосле имени службы приводит к тому, что сервер работает с использованием учетной записи WindowsLocalService, которая имеет ограниченные системные права. Если указаны оба параметра--defaults-fileи--local-serviceпосле имени службы, их порядок может быть любым. См. Раздел 2.3.4.8, «Запуск MySQL как службы Windows». -
Формат командной строки --log-error[=file_name]Системная переменная log_errorОбласть действия Глобальная Динамическая Нет Тип Имя файла Записывает журнал ошибок и сообщения о запуске в этот файл. См. Раздел 5.4.2, «Журнал ошибок».
Если имя файла не указано, имя файла журнала ошибок в Unix и Unix-подобных системах —
в каталоге данных. Имя файла в Windows такое же, если не указан параметрhost_name.err--pid-file. В этом случае имя файла — базовое имя файла PID с суффиксом.errв каталоге данных.Если указано имя файла, файл журнала ошибок имеет это имя (с добавленным суффиксом
.err, если имя не имеет суффикса), расположенный в каталоге данных, если не указано абсолютное имя пути для указания другого местоположения.В Windows
--consoleимеет приоритет над--log-error, если указаны оба. В этом случае сервер записывает журнал ошибок в консоль, а не в файл. (В MySQL 5.5 и 5.6 это наоборот:--log-errorимеет приоритет над--console, если указаны оба.)
-
Командная строка --log-isam[=file_name]Тип Имя файла Записывать все
MyISAMизменения в этот файл (используется только при отладкеMyISAM). -
Командная строка --log-raw[={OFF|ON}]Тип Булево Значение по умолчанию OFFПароли в определённых запросах, записываемых в общий журнал запросов, журнал медленных запросов и двоичный журнал, переписываются сервером так, чтобы не встречаться в открытом тексте. Перепись паролей может быть отключена для общего журнала запросов путём запуска сервера с опцией
--log-raw. Эта опция может быть полезна для диагностических целей, чтобы увидеть точный текст запросов, как они получены сервером, но по соображениям безопасности не рекомендуется для использования в рабочей среде.Если плагин переписывания запросов установлен, опция
--log-rawвлияет на протоколирование запросов следующим образом:Более подробную информацию см. в разделе 6.1.2.3, «Пароли и протоколирование».
-
Командная строка --log-short-format[={OFF|ON}]Тип Булево Значение по умолчанию OFFЛогировать меньше информации в журнал медленных запросов, если он активирован.
-
Командная строка --log-tc=file_nameТип Имя файла Значение по умолчанию tc.logИмя файла журнала координатора транзакций в памяти (для транзакций XA, которые влияют на несколько движков хранения, когда двоичный журнал отключён). Имя по умолчанию —
tc.log. Файл создаётся в каталоге данных, если не указан полный путь. Эта опция не используется. -
Командная строка --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[={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=#Тип Целое число Значение по умолчанию 1024Минимальное значение 1024Максимальное значение 16384Размер блока для использования в страницах индексов
MyISAM.
-
Не читать файлы параметров. Если запуск программы завершается ошибкой из-за чтения неизвестных параметров из файла параметров,
--no-defaultsможно использовать для предотвращения их чтения. Этот параметр должен быть первым в командной строке, если он используется.Дополнительную информацию об этом и других параметрах файлов параметров см. в разделе 4.2.2.3 «Параметры командной строки, влияющие на обработку файлов параметров».
-
Формат командной строки --old-style-user-limits[={OFF|ON}]Тип Булево Значение по умолчанию OFFВключить ограничения на использование ресурсов старого стиля. (До MySQL 5.0.3 ограничения ресурсов учетной записи подсчитывались отдельно для каждого хоста, с которого подключался пользователь, а не по строке учетной записи в таблице
user). См. раздел 6.2.16 «Настройка ограничений ресурсов учетных записей». -
Формат командной строки --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-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.--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. Таким образом, параметр--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-Pport_numФормат командной строки --port=port_numСистемная переменная portОбласть действия Глобальная Динамический Нет Тип Целое число Значение по умолчанию 3306Минимальное значение 0Максимальное значение 65535Номер порта, используемый для прослушивания подключений TCP/IP. В системах Unix и Unix-подобных системах номер порта должен быть 1024 или выше, если сервер не запускается пользователем операционной системы
root. Установка этого параметра в 0 приводит к использованию значения по умолчанию. -
Формат командной строки --port-open-timeout=#Тип Целое число Значение по умолчанию 0В некоторых системах при остановке сервера порт TCP/IP может не стать доступным сразу. Если сервер будет перезапущен сразу после этого, попытка повторного открытия порта может завершиться неудачей. Этот параметр указывает, сколько секунд сервер должен ждать, пока порт TCP/IP освободится, если его нельзя открыть. По умолчанию ожидание не производится.
-
Выводит имя программы и все параметры, полученные из файлов параметров. Значения паролей замаскированы. Если этот параметр используется, он должен быть первым параметром в командной строке, за исключением случаев, когда он используется сразу после
--defaults-fileили--defaults-extra-file.Дополнительную информацию об этом и других параметрах файлов параметров см. в Разделе 4.2.2.3, «Параметры командной строки, влияющие на обработку файлов параметров».
-
Формат командной строки --remove [service_name]Специфично для платформы Windows (Только Windows) Удаляет службу MySQL в Windows. Имя службы по умолчанию —
MySQL, если не указано значениеservice_name. Дополнительную информацию см. в Разделе 2.3.4.8, «Запуск MySQL как службы Windows». -
Формат командной строки --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[={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Отключить использование внутренней кэш-памяти хоста для более быстрого преобразования имен в 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-запросы и кэш хоста».
-
Отключить движок хранения данных
InnoDB. В этом случае, так как по умолчанию используется движок хранения данныхInnoDB, сервер не может запуститься, если вы не используете также--default-storage-engineи--default-tmp-storage-engineдля установки значения по умолчанию для таблиц постоянного и временного храненияTEMPORARY.Движок хранения данных
InnoDBне может быть отключен, и опция--skip-innodbустарела и не имеет эффекта. Её использование приводит к предупреждению. Ожидайте удаления этой опции в будущих версиях MySQL. -
Формат командной строки --skip-newЭта опция отключает (то, что раньше считалось) новые, потенциально небезопасные действия. Это приводит к следующим настройкам:
delay_key_write=OFF,concurrent_insert=NEVER,automatic_sp_privileges=OFF. Она также заставляетOPTIMIZE TABLEотображаться какALTER TABLEдля движков хранения, для которыхOPTIMIZE TABLEне поддерживается. -
Формат командной строки --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Область действия Глобальная Динамическая Нет Тип Логический Значение по умолчанию OFFЭта опция устанавливает системную переменную
skip_show_database, которая контролирует разрешение на использование оператораSHOW DATABASES. См. Раздел 5.1.7, «Системные переменные сервера». -
Формат командной строки --skip-stack-traceНе записывать трассировки стека. Эта опция полезна при запуске mysqld под отладчиком. На некоторых системах для получения файла core также необходимо использовать эту опцию. См. Раздел 5.8, «Отладка MySQL».
-
Формат командной строки --slow-start-timeout=#Тип Целое число Значение по умолчанию 15000Эта опция контролирует время ожидания запуска службы Windows Service Control Manager. Значение — максимальное количество миллисекунд, которое менеджер управления службами ожидает, прежде чем попытаться убить службу Windows при запуске. Значение по умолчанию составляет 15000 (15 секунд). Если служба MySQL слишком долго запускается, вам может потребоваться увеличить это значение. Значение 0 означает, что таймаута нет.
-
Формат командной строки --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_DATESANSI_QUOTESERROR_FOR_DIVISION_BY_ZEROHIGH_NOT_PRECEDENCEIGNORE_SPACENO_AUTO_CREATE_USERNO_AUTO_VALUE_ON_ZERONO_BACKSLASH_ESCAPESNO_DIR_IN_CREATENO_ENGINE_SUBSTITUTIONNO_FIELD_OPTIONSNO_KEY_OPTIONSNO_TABLE_OPTIONSNO_UNSIGNED_SUBTRACTIONNO_ZERO_DATENO_ZERO_IN_DATEONLY_FULL_GROUP_BYPAD_CHAR_TO_FULL_LENGTHPIPES_AS_CONCATREAL_AS_FLOATSTRICT_ALL_TABLESSTRICT_TRANS_TABLESУстановите режим SQL. См. Раздел 5.1.10, «Режимы SQL сервера».
ПримечаниеПрограммы установки MySQL могут настраивать режим SQL во время процесса установки. Если режим SQL отличается от значения по умолчанию или от того, что вы ожидаете, проверьте наличие параметра в файле параметров, который сервер считывает при запуске.
-
Формат командной строки --ssl[={OFF|ON}]Отключено skip-sslТип Boolean Значение по умолчанию ONПараметр
--sslуказывает, что сервер разрешает, но не требует зашифрованные соединения. Этот параметр включен по умолчанию.--sslможет быть указан в отрицательной форме как--skip-sslили синоним (--ssl=OFF,--disable-ssl). В этом случае параметр указывает, что сервер не разрешает зашифрованные соединения, независимо от настроек системных переменныхtls_иxxxssl_.xxxДля получения дополнительной информации о настройке разрешения сервером подключения клиентов с использованием SSL и указания места нахождения ключей и сертификатов SSL см. Раздел 6.3.1, «Настройка MySQL для использования зашифрованных соединений», в котором также описываются возможности сервера для автоматического создания и обнаружения файлов сертификатов и ключей. Рассмотрите возможность установки как минимум системных переменных
ssl_certиssl_keyна стороне сервера и параметра--ssl-ca(или--ssl-capath) на стороне клиента. -
Формат командной строки --standaloneСпецифично для платформы Windows Доступно только в Windows; указывает серверу MySQL не запускаться как служба.
-
Формат командной строки --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[={OFF|ON}]Тип Boolean Значение по умолчанию OFFSYSDATE()по умолчанию возвращает время своего выполнения, а не время начала выполнения оператора, в котором он находится. Это отличается от поведенияNOW(). Этот параметр делаетSYSDATE()синонимомNOW(). Для получения информации о последствиях для бинарного логирования и репликации см. описание дляSYSDATE()в Разделе 12.7, «Функции даты и времени» и дляSET TIMESTAMPв Разделе 5.1.7, «Системные переменные сервера». -
--tc-heuristic-recover={COMMIT|ROLLBACK}Формат командной строки --tc-heuristic-recover=nameТип Enumeration Значение по умолчанию OFFДопустимые значения OFFCOMMITROLLBACKРешение об использовании в ручном эвристическом восстановлении.
Если указан параметр
--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[={OFF|ON}]Устарел 5.7.18 Тип Boolean Значение по умолчанию (Linux) ONЗначение по умолчанию (Другие) OFFЭтот параметр игнорируется, за исключением Linux. В Linux он заставляет большинство временных файлов, созданных сервером, использовать небольшой набор имен, а не уникальное имя для каждого нового файла. Это обходит проблему в ядре Linux, связанную с созданием многих новых файлов с разными именами. При старом поведении Linux, по-видимому, “утечка” памяти, поскольку она выделяется для кэша записей каталога, а не для кэша диска.
Начиная с MySQL 5.7.18, этот параметр устарел и удален в MySQL 8.0.
-
Формат командной строки --transaction-isolation=nameСистемная переменная (≥ 5.7.20) transaction_isolationОбласть видимости (≥ 5.7.20) Глобальная, сессии Динамическая (≥ 5.7.20) Да Тип Перечисление Значение по умолчанию REPEATABLE-READДопустимые значения READ-UNCOMMITTEDREAD-COMMITTEDREPEATABLE-READSERIALIZABLEУстанавливает уровень изоляции транзакций по умолчанию. Значение
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[={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-tdir_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. Если вам не требуется дополнительная проверка, вы можете отключить этот параметр при запуске, чтобы избежать снижения производительности. -
Используйте этот параметр с параметром
--helpдля получения подробной справки. -
--version,-VОтобразить информацию о версии и завершить работу.
© 2025 Oracle
Licensed under the GPLv2 License.