我可以毫无问题地连接到我的数据库,我已经设置了一个用户,其密码具有*.*
的所有权限,包括授权选项。
执行以下操作时:
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
)。
我尝试删除帐户,授予/取消权限并刷新它们。似乎没什么用,我也不知道为什么。
继续:
答案 0 :(得分:0)
想出来......
SELECT USER();
& SELECT CURRENT_USER();
不一样。
看来我试图通过不同于我实际验证的IP登录。例如,我试图以ip1283.some-random-url.com
登录,但我被认证为x.x.x.x
(或者反过来,我记不清了,一切都变得如此之快:P)。
我添加了第一个IP(奇怪的一个)并删除了另一个,建立了一个新的数据库连接,一切正常。非常奇怪。
如果有人能解释原因,那就太棒了!