尝试授予权限时,用户对数据库的访问被拒绝

Access denied for user on database when trying to grant permissions

我可以毫无问题地连接到我的数据库,我已经设置了一个具有密码的用户,该用户具有 *.* 上的所有权限,包括授予选项。

当我执行以下命令时:

SHOW GRANTS FOR 'myuser'@'myip';

我得到:

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'myip' WITH GRANT OPTION

然而,当我尝试以下操作时:

CREATE SCHEMA test;
GRANT ALL ON test.* to 'testacc' identified by 'asdfasdf';

我得到 Access denied for user 'myuser'@'myip' to database 'test',但可以成功创建架构 test

唯一可行的方法是在我的服务器上以 root 的身份直接执行此操作(如 localhost)。

我已经尝试删除帐户、granting/ungranting 权限并刷新它们。似乎没有任何效果,我也不知道为什么。

运行 在:

想通了..

SELECT USER(); & SELECT CURRENT_USER(); 不一样。

我似乎试图通过与我实际验证的 IP 不同的 IP 登录。例如,我试图以 ip1283.some-random-url.com 身份登录,但我被验证为 x.x.x.x(或者反过来,我不记得了,一切都进行得太快了:P)。

我添加了第一个 IP(奇怪的 IP)并删除了另一个,建立了一个新的数据库连接并且一切正常。很奇怪。

如果有人能解释原因,那就太好了!