Spec-Zone.ru › MySQL 9.2

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

    При использовании этого параметра, если mysqld завершится аварийно, создается файл core; аргументы не нужны (и не принимаются). Имя и местоположение файла 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}]
    Тип Булево
    Значение по умолчанию 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}]
    Тип Булево
    Значение по умолчанию 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 должен быть первым.

  • --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, следующий за именем службы, заставляет сервер работать с учетной записью LocalService Windows, обладающей ограниченными системными привилегиями. Если после имени службы указаны как --defaults-file, так и --local-service, они могут быть в любом порядке. См. Раздел 2.3.3.8, «Запуск MySQL как службы Windows».

  • --log-diagnostic[=value]

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

    Установите имя файла диагностического журнала в это значение с добавленным .diag, если сервер запущен с --log-diagnostic-enable; в противном случае не имеет эффекта. Имя файла по умолчанию для диагностического журнала — host_name.diag.

    Только для внутреннего использования. Доступно только если сервер был скомпилирован с использованием -DWITH_LOG_DIAGNOSTIC.

  • --log-diagnostic-enable[=value]

    Формат командной строки --log-diagnostic-name[=true|false]
    Системная переменная log_diagnostic_enable
    Область действия Глобальная
    Динамическая Нет
    SET_VAR Применяется подсказка Нет
    Тип Булево
    Значение по умолчанию false

    Включить диагностическое протоколирование.

    Только для внутреннего использования. Доступно только если сервер был скомпилирован с использованием -DWITH_LOG_DIAGNOSTIC.

  • --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.

  • --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-сокетa, который необходимо использовать при прослушивании локальных подключений. Значение по умолчанию — /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, «Системные переменные сервера».

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

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

    OFF

    COMMIT

    ROLLBACK

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

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

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

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

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

    READ-UNCOMMITTED

    READ-COMMITTED

    REPEATABLE-READ

    SERIALIZABLE

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

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

  • --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 полезно для принудительного выполнения действий шага 2, если сервер считает, что они не нужны. Например, вы можете полагать, что системная таблица отсутствует или повреждена и хотите принудительно выполнить её восстановление.

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

    Значение параметра Сервер выполняет шаг 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-9.2-en/server-options.html

Spec-Zone.ru

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