$ 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
答案 0 :(得分:1)
问题是我的密码有特殊字符,我尝试将密码更改为字母密码,现在可以正常使用。
答案 1 :(得分:1)
您的问题是密码有#
个字符; hash是debian.cnf中的注释字符,它使用mysql配置文件格式。如果将值括在引号中,则可以在密码中使用#
罚款。来自the manual:
您可以选择将值括在单引号或双引号中,如果值包含“#”注释字符,这将非常有用。
所以这样就好了:
password = "#%@u5D2Y0eP5"
答案 2 :(得分:0)
将localhost更改为127.0.0.1(环回) 并再次尝试为我而烦恼
主持人:127.0.0.1
谢谢