mysql试图在启动时连接到本地主机,拒绝访问用户“root”@“localhost”(使用密码:否)

当我启动/重新启动mysql服务时,我总是在日志中看到这一行:

2017-07-19T17:35:02.379166Z 5 [注意]用户'root'@'localhost'访问被拒绝(使用密码:NO)

它试图做什么? 而且我怎样才能设置这个操作的用户/密码/主机? (它应该是127.0.0.1而不是localhost因为我有skip_name_resolve=1

我的home文件夹中已经有.my.cnf了,但是mysql正在mysql用户下运行,所以我应该在mysql home中创build一个.my.cnf文件? 这会安全吗?

我正在使用Percona服务器5.7

这是因为mysqladmin无法以root身份login。

有罪是这个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 

尽pipe出现错误消息,返回值为0,所以守护进程被标记为已启动。

Debian有一个包含用户执行无人值守操作的文件,为了明确地使用这个文件,必须以这种方式执行上一个命令:

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

在解释之后,我可以忽略错误日志中的行。