Когда я запускаю / перезапускаю службу 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
После этого объяснения я могу игнорировать строку в журнале ошибок.