访问被拒绝'debian-sys-maint'@'localhost'

时间:2013-06-24 06:09:45

标签: mysql debian chef

$ cat /etc/mysql/debian.cnf                                               1 ↵
[client]
host     = localhost
user     = debian-sys-maint
password = #%@u5D2Y0eP5
socket   = /var/run/mysqld/mysqld.sock

[mysql_upgrade]
host     = localhost
user     = debian-sys-maint
password = #%@u5D2Y0eP5
socket   = /var/run/mysqld/mysqld.sock
basedir  = /usr

但是当我尝试检查mysql的状态时:

$ service mysql status
/usr/bin/mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'debian-sys-maint'@'localhost' (using password: NO)'

我很困惑,为什么它没有使用我提供的密码?


Mysql :14.14 Distrib 5.5.31
Debian :Wheezy

此外,here's my /etc/mysql/my.cnf configuration档案。

3 个答案:

答案 0 :(得分:1)

问题是我的密码有特殊字符,我尝试将密码更改为字母密码,现在可以正常使用。

答案 1 :(得分:1)

您的问题是密码有#个字符; hash是debian.cnf中的注释字符,它使用mysql配置文件格式。如果将值括在引号中,则可以在密码中使用#罚款。来自the manual

  

您可以选择将值括在单引号或双引号中,如果值包含“#”注释字符,这将非常有用。

所以这样就好了:

password = "#%@u5D2Y0eP5"

答案 2 :(得分:0)

将localhost更改为127.0.0.1(环回) 并再次尝试为我而烦恼

  

主持人:127.0.0.1

谢谢