MySQL无法使用我创建的用户

时间:2013-05-27 20:07:58

标签: mysql database

在MySQL中,我创建了两个用户:

CREATE USER 'Bob'@'localhost' IDENTIFIED by 'p'
CREATE USER 'Alice'@'%' IDENTIFIED by 'a'

然后,当我尝试连接时:“mysql -u Alice -p”它失败了,告诉我

Error 1045 (28000) Access denied for user 'Alice'@'localhost'

Ť 与鲍勃一样。

任何人都知道为什么会这样?

编辑:

MySQL要求输入密码,而我putand给我的错误。

编辑2:我在远程连接,而不是在本地连接,所以唯一必须工作的是Alice。

3 个答案:

答案 0 :(得分:0)

以root身份登录并执行以下操作:

GRANT ALL privileges ON *.* TO Bob@localhost IDENTIFIED BY 'p' WITH GRANT OPTION;

答案 1 :(得分:0)

您是否尝试使用该命令刷新权限?

FLUSH PRIVILEGES;

答案 2 :(得分:0)

根据Using % for host when creating a MySQL user中的评论,

  

实际上有,'localhost'在mysql中很特别,它意味着一个   通过unix套接字(或我认为的Windows上的命名管道)连接为   与TCP / IP套接字相对。使用%作为主机不包括   'localhost' - 于2012年5月30日20:45

因此,如果您的mysql -u alice...命令使用Unix套接字而不是127.0.0.1连接,则需要

CREATE USER 'Alice'@'localhost' IDENTIFIED by 'a'