6

我可以使用以下行连接到 mysql:

mysql -u myusername -p
(enters password into terminal)
>>>Welcome to the MySQL monitor.  Commands end with ; or \g.
>>>Your MySQL connection id is 51
>>>Server version: 5.6.10-log Source distribution

这是我的主目录中的 .my.cnf(不是 /etc/my.cnf):

[client]
user = myusername
password = mypassword
host = localhost

我的 /etc/my.cnf 中似乎还有一个客户端部分:

# The following options will be passed to all MySQL clients
[client]
#password   = your_password
port     = 3306
socket      = /tmp/mysql.sock

但是,当我在终端中输入“mysql”时,我得到:

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

我的 my.cnf 有什么问题?

此外,它与此处提到的匿名用户无关:MySQL ERROR 1045 (28000): Access denied for user 'bill'@'localhost' (using password: YES)

以下是建议查询的结果:

>>>mysql --print-defaults
>>>mysql would have been started with the following arguments:
>>>--port=3306 --socket=/tmp/mysql.sock --no-auto-rehash --user=myusername --password=mypassword --host=localhost 
4

2 回答 2

12

正如@Wrikken 在评论中所说,如果您引用您的密码并且密码包含诸如=or之类的字符,它将起作用;

于 2013-10-21T22:07:36.893 回答
3

您的问题是您缺少密码周围的引号。

[client]
user = myusername
password = "mypassword"
host = localhost

http://dev.mysql.com/doc/refman/5.7/en/option-files.html

搜索“这是一个典型的用户选项文件:”并查看他们在其中陈述的示例。

于 2014-07-25T17:06:36.883 回答