Назад | Перейти на главную страницу

mysql пытается подключиться к localhost при запуске, [Примечание] Доступ запрещен для пользователя 'root' @ 'localhost' (с использованием пароля: NO)

Когда я запускаю / перезапускаю службу mysql, я всегда вижу эту строку в журнале:

2017-07-19T17: 35: 02.379166Z 5 [Примечание] Доступ запрещен для пользователя 'root' @ 'localhost' (с использованием пароля: NO)

Что он пытается сделать? А как мне установить пользователя / пароль / хост для этой операции? (так должно быть 127.0.0.1 и нет localhost потому что у меня есть skip_name_resolve=1)

У меня уже есть .my.cnf в моей домашней папке, но mysql работает под пользователем mysql, поэтому должен ли я создавать файл .my.cnf в домашней папке mysql? Было бы это безопасно?

Я использую Percona Server 5.7

Это потому, что mysqladmin не может войти в систему как root.

Виноват этот Systemd юнит:

/lib/systemd/system/mysql.service

Что выполняет эту команду, чтобы увидеть, правильно ли запущен демон:

ExecStartPost=/usr/share/mysql/mysql-systemd-start post

Что выполняет:

# mysqladmin ping         
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)'
# echo $?
0

Возвращаемое значение - 0, несмотря на сообщение об ошибке, поэтому демон помечается как запущенный.

В Debian есть файл, содержащий пользователя для выполнения автоматических операций, чтобы явно использовать этот файл, предыдущая команда должна быть выполнена следующим образом:

mysqladmin --defaults-file=/etc/mysql/debian.cnf ping

После этого объяснения я могу игнорировать строку в журнале ошибок.