Spec-Zone.ru › MySQL 8.4

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

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

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

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

mysqld --help

Для просмотра полного списка используйте эту команду:

mysqld --verbose --help

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

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

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

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

  • Параметры управления двоичным журналом: см. раздел 7.4.4 «Двоичный журнал».

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

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

  • Параметры, специфичные для конкретных движков хранения: см. раздел 17.14 «Параметры запуска и системные переменные InnoDB» и раздел 18.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. См. раздел 15.7.6.1 «Синтаксис SET для присваивания переменных».

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

  • --help, -?

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

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

  • --allow-suspicious-udfs

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

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

  • --ansi

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

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

  • --basedir=dir_name, -b dir_name

    Формат командной строки --basedir=dir_name
    Переменная системы basedir
    Область действия Глобальная
    Динамическая Нет
    SET_VAR Применяется ли подсказка Нет
    Тип Имя каталога
    Значение по умолчанию parent of mysqld installation directory

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

    Исполняемый файл сервера определяет своё полное имя пути при запуске и использует родительский каталог, в котором он находится, в качестве значения по умолчанию для basedir. В свою очередь, это позволяет серверу использовать это значение basedir при поиске информации, связанной с сервером, например, каталога share, содержащего сообщения об ошибках.

  • --chroot=dir_name, -r dir_name

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

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

  • --console

    Формат командной строки --console
    Зависимость от платформы Windows

    (Только Windows.) Указывает, что местом назначения лога ошибок по умолчанию будет консоль. Это влияет на потоки логов, которые сами баззируются на месте назначения по умолчанию. См. Раздел 7.4.2, «Лог ошибок». mysqld не закрывает окно консоли, если используется этот параметр.

    --console имеет приоритет над --log-error, если оба указаны.

  • --core-file

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

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

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

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

  • --daemonize, -D

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

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

    --daemonize взаимоисключает --initialize и --initialize-insecure.

    Если сервер запущен с использованием параметра --daemonize и не подключён к устройству tty, используется параметр логгирования ошибок по умолчанию --log-error="", чтобы направить вывод ошибок в файл журнала по умолчанию.

    -D является синонимом для --daemonize.

  • --datadir=dir_name, -h dir_name

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

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

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

    Формат командной строки --debug[=debug_options]
    Системная переменная debug
    Область действия Глобальная, сеансовая
    Динамическая Да
    SET_VAR Применимо ли подсказка Нет
    Тип Строка
    Значение по умолчанию (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.

    Для получения дополнительной информации см. Раздел 7.9.4, «Пакет DBUG».

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

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

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

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

  • --default-time-zone=timezone

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

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

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

  • --defaults-extra-file=file_name

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

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

  • --defaults-file=file_name

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

    Исключение: даже с --defaults-file, mysqld читает mysqld-auto.cnf.

    Примечание

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

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

  • --defaults-group-suffix=str

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

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

  • --early-plugin-load=plugin_list

    Формат командной строки --early-plugin-load=plugin_list
    Тип Строка
    Значение по умолчанию empty string

    Этот параметр сообщает серверу, какие плагины загрузить до загрузки обязательных встроенных плагинов и перед инициализацией движка хранения. Ранняя загрузка поддерживается только для плагинов, скомпилированных с 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_okv при запуске, должны использовать --early-plugin-load с соответствующим значением параметра (например, keyring_okv.so на системах Unix и Unix-подобных системах или keyring_okv.dll на Windows).

    Сведения о InnoDB шифровании табличного пространства данных см. в Разделе 17.13, «Шифрование данных InnoDB». Общие сведения о загрузке плагинов см. в Разделе 7.6.1, «Установка и удаление плагинов».

    Примечание

    Для MySQL Keyring этот параметр используется только в случае, если хранилище ключей управляется плагином keyring. Если управление хранилищем ключей выполняется компонентом keyring, а не плагином, укажите загрузку компонента с помощью файла манифеста; см. Раздел 8.4.4.2, «Установка компонентов Keyring».

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

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

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

  • --external-locking

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

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

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

    Внешняя блокировка влияет только на доступ к таблицам MyISAM. Более подробная информация, включая условия использования, см. в Разделе 10.11.5, «Внешняя блокировка».

  • --flush

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

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

    Примечание

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

  • --gdb

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

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

    В Windows этот параметр также подавляет форкинг, используемый для реализации команды RESTART: форкинг позволяет одному процессу действовать в качестве монитора для другого, который выполняет роль сервера. Однако форкинг усложняет определение процесса сервера для подключения к нему во время отладки, поэтому запуск сервера с параметром --gdb подавляет форкинг. Для сервера, запущенного с этим параметром, RESTART просто завершает работу и не перезапускается.

    В неотладочных настройках может быть использован параметр --no-monitor для подавления форкинга мониторингового процесса.

  • --initialize, -I

    Формат командной строки --initialize[={OFF|ON}]
    Тип Boolean
    Значение по умолчанию 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 взаимоисключает и --daemonize.

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

  • --initialize-insecure

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

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

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

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

  • --innodb-xxx

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

  • --install [service_name]

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

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

    Примечание

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

  • --install-manual [service_name]

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

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

    Примечание

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

  • --large-pages

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

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

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

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

  • --lc-messages=locale_name

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

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

  • --lc-messages-dir=dir_name

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

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

  • --local-service

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

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

  • --log-error[=file_name]

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

    Устанавливает местоположение лога ошибок по умолчанию в указанный файл. Это влияет на потоки лога, которые базируют своё местоположение вывода на значение по умолчанию. См. Раздел 7.4.2, «Журнал ошибок».

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

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

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

    В Windows опция --console имеет приоритет над опцией --log-error, если обе указаны. В этом случае местоположение лога ошибок по умолчанию — консоль, а не файл.

  • --log-isam[=file_name]

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

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

  • --log-raw

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

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

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

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

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

    Для получения дополнительной информации см. Раздел 8.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=#
    Тип Целое число
    Значение по умолчанию 6 * page size
    Минимальное значение 6 * page size
    Максимальное значение (64-битные платформы) 18446744073709551615
    Максимальное значение (32-битные платформы) 4294967295

    Размер журнала координатора транзакций с отображением в памяти в байтах. Значения по умолчанию и минимальное значение равны 6 размерам страницы, а значение должно быть кратно размеру страницы.

  • --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, что по соображениям безопасности обычно не рекомендуется. См. Раздел 8.1.5, «Как запустить MySQL как обычный пользователь».

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

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

  • --myisam-block-size=N

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

    Размер блока, используемый для страниц индекса MyISAM.

  • --mysql-native-password

    Формат командной строки --mysql-native-password={OFF|ON}
    Устарел Да
    Тип Булево
    Значение по умолчанию OFF

    Включить плагин аутентификации mysql_native_password, который по умолчанию отключен в MySQL 8.4.

    Дополнительную информацию см. в Разделе 8.4.1.1, «Встроенная подключаемая аутентификация».

  • --no-defaults

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

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

  • --no-monitor

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

    (Только Windows). Этот параметр подавляет создание виртуальных процессов, используемых для реализации оператора RESTART: Создание виртуальных процессов позволяет одному процессу действовать как монитору другого, который действует как сервер. Для сервера, запущенного с этим параметром, RESTART просто завершается и не перезапускается.

  • --performance-schema-xxx

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

  • --plugin-load=plugin_list

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

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

    Значение параметра — список значений plugin_library и name=plugin_library, разделенных точкой с запятой. Каждое 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. См. Раздел 7.6.2, «Получение информации о плагинах сервера».

    Дополнительную информацию о загрузке плагинов см. в Разделе 7.6.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. См. Раздел 7.6.2, «Получение информации о плагинах сервера».

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

  • --plugin-xxx

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

    Для булевых параметров, которые можно включить или выключить, также поддерживается префикс --skip и другие альтернативные форматы (см. Раздел 6.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
    Область действия Глобальная
    Динамическая Нет
    Применяется ли подсказка SET_VAR Нет
    Тип Целое число
    Значение по умолчанию 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.

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

  • --remove [service_name]

    Формат командной строки --remove [service_name]
    Зависит от платформы Windows

    (Только Windows) Удаляет службу MySQL на Windows. Имя службы по умолчанию — MySQL, если не указано значение service_name. Дополнительную информацию см. в Разделе 2.3.3.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 отключает проверки аутентификации, сервер также отключает удалённые подключения в этом случае, включив skip_networking.

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

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

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

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

    • --skip-grant-tables отключает отслеживание неудачных подключений и блокировку временных учётных записей, поскольку эти возможности зависят от таблиц разрешений. См. Раздел 8.2.15, «Управление паролями».

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

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

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

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

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

      --skip-grant-tables не подавляет загрузку компонентов во время запуска.

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

  • --skip-new

    Формат командной строки --skip-new
    Устарело Да

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

    Этот параметр устарел и может быть удалён в будущих релизах.

  • --skip-show-database

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

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

  • --skip-stack-trace

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

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

  • --slow-start-timeout=timeout

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

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

  • --socket=path

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

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

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

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

    ALLOW_INVALID_DATES

    ANSI_QUOTES

    ERROR_FOR_DIVISION_BY_ZERO

    HIGH_NOT_PRECEDENCE

    IGNORE_SPACE

    NO_AUTO_VALUE_ON_ZERO

    NO_BACKSLASH_ESCAPES

    NO_DIR_IN_CREATE

    NO_ENGINE_SUBSTITUTION

    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

    TIME_TRUNCATE_FRACTIONAL

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

    Примечание

    Программы установки MySQL могут настроить режим SQL во время процесса установки.

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

  • --standalone

    Формат командной строки --standalone
    Зависит от платформы Windows

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

  • --super-large-pages

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

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

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

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

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

    Примечание

    Поддержка символических ссылок, вместе с опцией --symbolic-links, которая ее контролирует, устарела; ожидается, что она будет удалена в будущей версии MySQL. Кроме того, по умолчанию опция отключена. Соответствующая системная переменная have_symlink также устарела; ожидается, что она будет удалена в будущей версии MySQL.

    Эта опция не имеет смысла в Windows.

  • --sysdate-is-now

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

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

  • --transaction-read-only

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

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

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

  • --tmpdir=dir_name, -t dir_name

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

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

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

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

  • --upgrade=value

    Формат командной строки --upgrade=value
    Тип Перечисление
    Значение по умолчанию AUTO
    Допустимые значения

    AUTO

    NONE

    MINIMAL

    FORCE

    Этот параметр определяет, выполняется ли и как сервер выполняет автоматическое обновление при запуске. Автоматическое обновление включает два этапа:

    • Шаг 1: Обновление словаря данных.

      На этом этапе обновляются:

      • Таблицы словаря данных в схеме mysql. Если фактическая версия словаря данных ниже текущей ожидаемой версии, сервер обновляет словарь данных. Если он не может, или ему препятствуют, сервер не может работать.

      • Схема Performance Schema и INFORMATION_SCHEMA.

    • Шаг 2: Обновление сервера.

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

      • Системные таблицы в схеме mysql (остальные таблицы, не являющиеся таблицами словаря данных).

      • Схема sys.

      • Схемы пользователей.

    Подробности о шагах 1 и 2 обновления см. в Разделе 3.4, «Что обновляет процесс обновления MySQL».

    Разрешены следующие значения параметра --upgrade:

    • AUTO

      Сервер выполняет автоматическое обновление всего, что обнаруживает устаревшим (шаги 1 и 2). Это действие по умолчанию, если --upgrade не указано явно.

    • NONE

      Сервер не выполняет автоматических шагов обновления во время процесса запуска (пропускает шаги 1 и 2). Поскольку это значение параметра предотвращает обновление словаря данных, сервер завершает работу с ошибкой, если обнаруживает, что словарь данных устарел:

      [ERROR] [MY-013381] [Server] Server shutting down because upgrade is
      required, yet prohibited by the command line option '--upgrade=NONE'.
      [ERROR] [MY-010334] [Server] Failed to initialize DD Storage Engine
      [ERROR] [MY-010020] [Server] Data Dictionary initialization failed.
      
    • MINIMAL

      Сервер обновляет словарь данных, Performance Schema и INFORMATION_SCHEMA, если необходимо (шаг 1). Обратите внимание, что после обновления с помощью этого параметра нельзя запустить Group Replication, поскольку системные таблицы, от которых зависят внутренние компоненты репликации, не обновляются, а в других областях также может быть снижена функциональность.

    • FORCE

      Сервер обновляет словарь данных, Performance Schema и INFORMATION_SCHEMA, если необходимо (шаг 1). Кроме того, сервер принудительно выполняет обновление всего остального (шаг 2). Ожидайте, что запуск сервера займет больше времени с этим параметром, так как сервер проверяет все объекты во всех схемах.

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

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

    Значение параметра Сервер выполняет шаг 1? Сервер выполняет шаг 2?
    AUTO Если необходимо Если необходимо
    NONE Нет Нет
    MINIMAL Если необходимо Нет
    FORCE Если необходимо Да
  • --user={user_name|user_id}, -u {user_name|user_id}

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

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

    Этот параметр обязателен при запуске mysqld как root. Сервер меняет свой идентификатор пользователя во время последовательности запуска, заставляя его работать как этот конкретный пользователь, а не как root. См. Раздел 8.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-config

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

    Проверяет конфигурацию запуска сервера. Если ошибок не обнаружено, сервер завершается с кодом выхода 0. Если ошибка обнаружена, сервер отображает диагностическое сообщение и завершается с кодом выхода 1. Могут также отображаться предупреждающие и информационные сообщения, в зависимости от значения log_error_verbosity, но они не приводят к немедленному завершению проверки или коду выхода 1. Более подробную информацию см. в разделе 7.1.3, «Проверка конфигурации сервера».

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

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

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

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

    • Для учетной записи требуется плагин аутентификации sha256_password (устаревший) или caching_sha2_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-8.4-en/server-options.html

Spec-Zone.ru

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