我已经在PhpMyAdmin和DataGrip中尝试过以下查询:
drop user god_user, god;
create user god_user identified by 'god', god identified by 'god';
grant all on *.* to god with grant option ;
grant god to god_user;
show grants for god_user
似乎一切正常,show grants for god_user
显示如下:
GRANT USAGE ON *.* TO `god_user`@`%`
GRANT `god`@`%` TO `god_user`@`%`
使用PhpMyAdmin,我可以以god
的身份登录,并看到我将ALL PRIVILEGES
的标志GRANT
设置为YES
。但是god_user
呢,它表明god_user
没有特权。为什么?而且,如果我以god_user
的身份登录PhpMyAdmin,我什至看不到我的数据库列表!
这是一个错误吗?如果我grant all on *.* to god_user with grant option
可以。
flush privileges
没有给我什么新鲜的东西。同样,如果god
是role
,而不是user
(我认为没有太大区别)。我是根。
答案 0 :(得分:0)
问题是非常愚蠢的:我忘记激活我的角色。 以下代码解决了我的问题。 (它将激活所有授予指定用户的角色。)
set default role all to god_user, admin;
就这样)
文档中有关“激活角色”的段落曾在文档中出现,但我跳过了...