0

在 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'

T Bob 也一样。

任何人都知道为什么会发生这种情况?

编辑:

MySQL 要求输入密码,然后我输入并给了我那个错误。

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

4

3 回答 3

0

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

GRANT ALL privileges ON *.* TO Bob@localhost IDENTIFIED BY 'p' WITH GRANT OPTION;
于 2013-05-27T20:13:50.193 回答
0

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

FLUSH PRIVILEGES;
于 2013-05-27T20:15:34.883 回答
0

根据在创建 MySQL 用户时使用 % for host中的评论,

实际上,'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'
于 2013-05-27T20:17:09.520 回答