MYSQL权限:访问拒绝用户'debian-sys-maint'@'localhost

Debian上安装mysql服务器时出现问题。 (不是我的服务器,所以我不知道是什么造成了这个…)

安装添加数据库的新应用程序失败,并显示错误:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

我可以login用户,我刷新了权限

然后,我可以通过这个问题: https : //stackoverflow.com/questions/1709078/how-can-i-restore-the-mysql-root-users-full-privileges

但是,当我试图停止MySQL,它失败

error: 'Access denied for user 'debian-sys-maint'@'localhost' (using password: YES)'

Debian使用debian-sys-maint账号进行pipe理(启动/停止等)。 凭证存储在/etc/mysql/debian.cnf – 检查是否全部有效。

有很多方法可以恢复debian-sys-maint用户。 最容易做的是重新configuration包mysql-server-5.5 。 如果您知道MySQL root用户的密码,则可以尝试在/etc/mysql/debian.cnf恢复用户及其密码。

 sudo dpkg-reconfigure mysql-server-5.5 

要恢复MySQL的root密码(或任何MySQL用户密码),您可以使用debian-sys-maint帐户。 你需要运行mysql来获取debian-sys-maint帐户的密码。

 sudo mysql --defaults-file=/etc/mysql/debian.cnf mysql> UPDATE mysql.user SET Password=PASSWORD('secret') WHERE User='root'; mysql> FLUSH PRIVILEGES; mysql> QUIT; 

因此, 不要删除用户debian-sys-maint ,因为它在Debian中用于pipe理MySQL(closures它,滚动日志,升级包,检查MySQL中root用户的存在,设置新的root用户密码等)。