Отдельная личность не обязана быть мудрее целой нации (О. Бальзак).

Как проверить параметры конфигурации сервера MySQL

2 мин для чтения
FavoriteLoadingДобавить в избранное
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
24 июня 2019
Как проверить параметры конфигурации сервера
После обновления сервера многие пользователи запускают его с неизмененным файлом конфигурации только для того, чтобы обнаружить, что некоторые устаревшие параметры, которые они использовали, больше не поддерживаются более поздней версией сервера, что приводит к отключению обновленного сервера. В других случаях изменение файла конфигурации сервера приводит к тому, что сервер отказывается запускаться, когда в файл конфигурации ошибочно введено неверное имя. В MySQL 5.7 пользователи полагались на сочетание параметров ‘help’ и ‘verbose’ вместе с конфигурациями сервера для проверки параметров.

./sql/mysqld --verbose --help --foo=bar
To see what values a running MySQL server is using, type
'mysqladmin variables' instead of 'mysqld --verbose --help'.
2019-06-14T12:32:34.486721Z 0 [ERROR] Aborting

 

В MySQL 8.0.16 была введена новая опция «validate-config» , чтобы помочь пользователям быстро протестировать конфигурацию сервера без необходимости запуска сервера. Если проблем не найдено, сервер завершает работу с нулевым кодом выхода. Сервер завершит работу с ошибкой (ошибка № 1) при первом появлении недопустимой конфигурации. Например, давайте рассмотрим серверную опцию «tx_read_only», которая устарела в MySQL 5.7 и удалила MySQL 8.0:

./runtime_output_directory/mysqld --tx_read_only=on --validate-config
2019-06-2206-22T11:12:06.627242Z 0 [ERROR] [MY-000067] [Server] unknown variable
'tx_read_only=on'.
2019-06-2206-22T11:12:06.627273Z 0 [ERROR] [MY-010119] [Server] Aborting

 

Параметр validate-config также можно использовать с файлом конфигурации для проверки параметров, указанных в файле конфигурации. Например:

./runtime_output_directory/mysqld
--defaults-file=/home/nisha/workspace1/my.cnf --validate-config
2019-06-10T13:09:22.324165Z 0 [ERROR] [MY-000067] [Server] unknown variable
'tx_read_only=1'.
2019-06-10T13:09:22.324248Z 0 [ERROR] [MY-010119] [Server] Aborting

 

Обратите внимание, что при использовании параметра defaults-file он должен быть первым параметром в командной строке, как показано выше.

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

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

./runtime_output_directory/mysqld --log-error-verbosity=2 --validate-config --read_only=s --transaction_read_only=10
2019-06-09T05:12:12.124576Z 0 [Warning] [MY-000076] [Server] option 'read_only': boolean value 's' was not recognized. Set to OFF.
2019-06-09T05:12:12.124595Z 0 [Warning] [MY-000076] [Server] option 'transaction-read-only': boolean value '10' was not recognized. Set to OFF.

 

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

./runtime_output_directory/mysqld --log-error-verbosity=2 --validate-config --read_only=s --transaction_read_only=10 --foo=bar
2019-06-09T05:14:22.117432Z 0 [Warning] [MY-000076] [Server] option 'read_only': boolean value 's' was not recognized. Set to OFF.
2019-06-09T05:14:22.117446Z 0 [Warning] [MY-000076] [Server] option 'transaction-read-only': boolean value '10' was not recognized. Set to OFF.
2019-06-09T05:14:22.131557Z 0 [ERROR] [MY-000067] [Server] unknown variable 'foo=bar'.
2019-06-09T05:14:22.131647Z 0 [ERROR] [MY-010119] [Server] Aborting

 

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Если статья понравилась, то поделитесь ей в социальных сетях:

Читайте также

Добавить комментарий

Войти с помощью: 

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

badge
Обратный звонок 1
Отправить
galka

Спасибо! Ваша заявка принята

close
galka

Спасибо! Ваша заявка принята

close