Spec-Zone.ru › MySQL 9.2

7.1.3 Валидация конфигурации сервера

MySQL поддерживает опцию --validate-config, которая позволяет проверить конфигурацию запуска на наличие проблем без запуска сервера в обычном режиме работы:

mysqld --validate-config

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

$> mysqld --validate-config --no-such-option
2018-11-05T17:50:12.738919Z 0 [ERROR] [MY-000068] [Server] unknown
option '--no-such-option'.
2018-11-05T17:50:12.738962Z 0 [ERROR] [MY-010119] [Server] Aborting

Сервер завершается как только будет найдена любая ошибка. Для выполнения дополнительных проверок необходимо исправить первоначальную проблему и запустить сервер с опцией --validate-config снова.

В приведенном выше примере, где использование --validate-config приводит к отображению сообщения об ошибке, код выхода сервера составляет 1. Могут также отображаться предупреждения и информационные сообщения, в зависимости от значения log_error_verbosity, но они не приводят к немедленному прекращению проверки или коду выхода 1. Например, эта команда генерирует несколько предупреждений, которые оба отображаются. Но ошибки нет, поэтому код выхода равен 0:

$> mysqld --validate-config --log_error_verbosity=2
         --read-only=s --transaction_read_only=s
2018-11-05T15:43:18.445863Z 0 [Warning] [MY-000076] [Server] option
'read_only': boolean value 's' was not recognized. Set to OFF.
2018-11-05T15:43:18.445882Z 0 [Warning] [MY-000076] [Server] option
'transaction-read-only': boolean value 's' was not recognized. Set to OFF.

Эта команда генерирует те же предупреждения, но также и ошибку, поэтому сообщение об ошибке отображается вместе с предупреждениями, а код выхода равен 1:

$> mysqld --validate-config --log_error_verbosity=2
         --no-such-option --read-only=s --transaction_read_only=s
2018-11-05T15:43:53.152886Z 0 [Warning] [MY-000076] [Server] option
'read_only': boolean value 's' was not recognized. Set to OFF.
2018-11-05T15:43:53.152913Z 0 [Warning] [MY-000076] [Server] option
'transaction-read-only': boolean value 's' was not recognized. Set to OFF.
2018-11-05T15:43:53.164889Z 0 [ERROR] [MY-000068] [Server] unknown
option '--no-such-option'.
2018-11-05T15:43:53.165053Z 0 [ERROR] [MY-010119] [Server] Aborting

Область действия опции --validate-config ограничена проверкой конфигурации, которую сервер может выполнить без прохождения обычного процесса запуска. Таким образом, проверка конфигурации не инициализирует движки хранения и другие плагины, компоненты и т. д., а также не проверяет параметры, связанные с этими неинициализированными подсистемами.

--validate-config можно использовать в любое время, но особенно полезно после обновления, чтобы проверить, считают ли обновленный сервер устаревшими или устаревшими какие-либо параметры, ранее использовавшиеся со старым сервером. Например, переменная системы tx_read_only была удалена в версии 8.0. Предположим, что сервер MySQL 5.7 запускался с использованием этой переменной системы в файле my.cnf, а затем был обновлён до MySQL 9.2. Запуск обновленного сервера с --validate-config для проверки конфигурации даёт следующий результат:

$> mysqld --validate-config
2018-11-05T10:40:02.712141Z 0 [ERROR] [MY-000067] [Server] unknown variable
'tx_read_only=ON'.
2018-11-05T10:40:02.712178Z 0 [ERROR] [MY-010119] [Server] Aborting

--validate-config может использоваться с опцией --defaults-file для проверки только параметров в определённом файле:

$> mysqld --defaults-file=./my.cnf-test --validate-config
2018-11-05T10:40:02.712141Z 0 [ERROR] [MY-000067] [Server] unknown variable
'tx_read_only=ON'.
2018-11-05T10:40:02.712178Z 0 [ERROR] [MY-010119] [Server] Aborting

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

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

Spec-Zone.ru

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