问题描述:
在ubuntu 16.04上安装了mysql,在启动mysql的时候,出现了如下错误:
mysqladmin: connect to service mysql at 'localhost' failed
error: 'Access denied for user 'debian-sys-maint'@'localhost' (using password: YES)'
解决方案:
通过一番尝试推测问题出现的原因:出现这个问题的原因是由于debian拥有一个控制用户打开/关闭和检查mysql状态的mysql账户,并且该账户“debian-sys-maint”的密码应该和 /etc/mysql/debian.cnf中存储的密码相同。
1、vim /etc/mysql/debian.cnf
这个时候你会看到debian.cnf的内容:
[client]
host = localhost
user = debian-sys-maint
password = ******** // 这个便是debian-sys-maint账户的密码
socket = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
host = localhost
user = debian-sys-maint
password = ******** // 这个便是debian-sys-maint账户的密码
socket = /var/run/mysqld/mysqld.sock
这个密码会有点复杂,当然你也可以更改此密码,但是需要注意的一点就是,上下这两个密码字段的值要保持一致。
2、确定好debian.cnf的内容之后,执行命令 mysql -u root 进入mysql命令行,最后执行如下命令:
mysql > GRANT ALL PRIVILEGES ON *.* TO 'debian-sys-maint'@'localhost' IDENTIFIED BY 'your-password-here' WITH GRANT OPTION;
回车执行即可。
3、再次尝试 service mysql status 或 service mysql start等命令已不报错!