OS
$ uname -a
Linux aurora 4.4.0-59-generic #80-Ubuntu SMP Fri Jan 6 17:47:47 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
的MySQL
$ mysqladmin --version
mysqladmin Ver 8.42 Distrib 5.7.16, for Linux on x86_64
显然有些东西试图在 root
上登录我的mysql服务器
service mysql start
但我不知道它是什么。
/var/log/mysql/error.log
中与启动服务器相关的最后一行是:
[Note] Access denied for user 'root'@'localhost' (using password: NO)
如何确定在启动时尝试以'root'@'localhost'
身份登录的有问题的配置文件或服务器或应用程序?我可以提供哪些其他信息来帮助理解和解决此问题?
另外,如果我明确这样做,我可以以'root'@'localhost'
身份登录。只有错误日志中的[Note]
令我感到恼火,我想调试。
答案 0 :(得分:1)
这是因为mysqladmin无法以root身份登录。
有罪的是这个系统单位:
/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
在解释之后,我可以忽略错误日志中的行。