无法在MySql 8.0中复制用户或角色特权

时间:2019-05-10 14:56:23

标签: mysql database grant

我已经在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没有给我什么新鲜的东西。同样,如果godrole,而不是user(我认为没有太大区别)。我是根。

1 个答案:

答案 0 :(得分:0)

问题是非常愚蠢的:我忘记激活我的角色。 以下代码解决了我的问题。 (它将激活所有授予指定用户的角色。)

set default role all to god_user, admin;

就这样)

文档中有关“激活角色”的段落曾在文档中出现,但我跳过了...