2
$ 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

另外,这是我的 /etc/mysql/my.cnf 配置文件。

4

3 回答 3

1

问题是我的密码包含特殊字符,我尝试将密码更改为字母密码,现在它可以工作了。

于 2013-06-24T06:48:10.753 回答
1

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

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

所以这会很好:

password = "#%@u5D2Y0eP5"
于 2015-01-05T21:02:52.423 回答
0

将 localhost 更改为 127.0.0.1(loopback) 并重试它对我的磨损

主机:127.0.0.1

谢谢你

于 2013-06-24T06:13:10.463 回答