Поиск по сайту:
Мы редко до конца понимаем, что мы в действительности хотим (Ф. Ларошфуко).

Проверка конфигурации перед запуском сервера MySQL

FavoriteLoadingДобавить в избранное
05.06.2020
Как установить MySQL 8.0 На Ubuntu 18.04

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

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

validate-config может использоваться в любое время, но особенно полезен после обновления , чтобы проверить, не считают ли какие-либо опции, ранее использовавшиеся с более старым сервером, обновленным сервером устаревшими или устаревшими.

Сначала давайте немного информации о моей версии и конфигурации MySQL.

$ mysqld --help --verbose | head -n13
mysqld Ver 8.0.16 for Linux on x86_64 (MySQL Community Server - GPL)
Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Starts the MySQL database server.

Usage: mysqld [OPTIONS]

Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf

 

Мы используем MySQL 8.0.16.

Конфигурация параметров по умолчанию читается в указанном порядке из:

/etc/my.cnf
/etc/mysql/my.cnf
/usr/local/mysql/etc/my.cnf
~ / .My.cnf

 

Теперь давайте проверим конфигурацию запуска моего сервера MySQL:

$ mysqld --validate-config
$

 

Никакой ошибки !

Никакого вывода, все выглядит хорошо.

Наш сервер запустится с этой конфигурацией.

В случае ошибки сервер завершает работу.

Вывод явно отличается:

$ mysqld --validate-config --fake-option
2019-06-05T15:10:08.653775Z 0 [ERROR] [MY-000068] [Server] unknown option '--fake-option'.
2019-06-05T15:10:08.653822Z 0 [ERROR] [MY-010119] [Server] Aborting

 

Читать  Переменные MySQL

Обычно ваши параметры конфигурации записываются в вашем файле конфигурации (обычно с именем my.cnf).

Поэтому вы также можете использовать validate-config в этом контексте:

$ mysqld --defaults-file=/etc/my.cnf --validate-config
$

 

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

 

Кроме того, вы можете справиться с многословием, используя log_error_verbosity:

  • Значение 1 дает вам ОШИБКУ
  • Значение 2 дает вам ОШИБКУ и ПРЕДУПРЕЖДЕНИЕ
  • Значение 3 дает вам ОШИБКУ, ПРЕДУПРЕЖДЕНИЕ И ИНФОРМАЦИЮ (т.е. примечание)

С значением 2, в дополнение к ошибкам, мы сможем отображать предупреждения:

$ mysqld --defaults-file=/etc/my.cnf --validate-config --log_error_verbosity=2
2019-06-05T15:53:42.785422Z 0 [Warning] [MY-011068] [Server] The syntax 'expire-logs-days' is deprecated and will be removed in a future release. Please use binlog_expire_logs_seconds instead.
2019-06-05T15:53:42.785660Z 0 [Warning] [MY-010101] [Server] Insecure configuration for --secure-file-priv: Location is accessible to all OS users. Consider choosing a different directory.

 

Ничего особо серьезного, однако рекомендуется по возможности удалять предупреждения.

Поэтому мы исправили эти предупреждения:

  • Используйте binlog_expire_logs_seconds вместо expire-logs-days
  • Установите правильные разрешения для своего каталога secure-file-priv
$ mysqld --defaults-file=/etc/my.cnf --validate-config --log_error_verbosity=2
2019-06-05T16:04:32.363297Z 0 [ERROR] [MY-000067] [Server] unknown variable 'binlog_expire_logs_second=7200'.
2019-06-05T16:04:32.363369Z 0 [ERROR] [MY-010119] [Server] Aborting

 

К сожалению !!! Есть опечатка…: -0
Мы написали binlog_expire_logs_second вместо binlog_expire_logs_seconds.

(Мы забыли последние «s»)

В этом случае мой сервер MySQL не сможет запуститься.

Благодаря validate-config !

Теперь мы можем избежать неприятных ощущений при запуске сервера.

При правильном написании у нас теперь нет ошибок и предупреждений:

$ mysqld --defaults-file=/etc/my.cnf --validate-config --log_error_verbosity=2
$

 

Читать  Как установить Osquery на Debian 10

Обратите внимание, что вы также можете использовать значение 3:

$ mysqld --defaults-file=/etc/my.cnf --validate-config --log_error_verbosity=3
2019-06-05T16:02:03.589770Z 0 [Note] [MY-010747] [Server] Plugin 'FEDERATED' is disabled.
2019-06-05T16:02:03.590719Z 0 [Note] [MY-010733] [Server] Shutting down plugin 'MyISAM'
2019-06-05T16:02:03.590763Z 0 [Note] [MY-010733] [Server] Shutting down plugin 'CSV'

 

validate-config удобен и может быть очень полезен.

Возможно, стоит включить его в процесс обновления.

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

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
Поделиться в соц. сетях:



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

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

тринадцать + четыре =

**ссылки nofollow

Это может быть вам интересно


Рекомендуемое
Веб-серверы есть везде. Черт возьми, вы взаимодействуете с одним прямо…

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

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