MySQL8角色管理

MySQL8里新加入了对于角色的管理,下面就简单的说一下如何使用:
角色可以理解为一组权限的集合,然后将角色赋给某个帐户,该帐户就拥有了角色对应的权限,每个帐户可以拥有多个角色,就像游戏里,你可以有很多称号一样。
比如我有个app,它连接数据库中的test2库,但是不同部门对这个库的权限不同,比如有的只能看却不允许操作,有的必须有对其修改的权限,如果每个人申请帐号时候,都要把所需的权限列出来,然后赋给该用户,然而对权限又不是很熟悉,所以每次查找对应权限时候就会浪费很多时间,老司机除外。如果将权限打包放入角色中,那可能节约很多时间,因为我们只需要整理权限一次,以后直接赋角色给帐号就好了。

创建角色
可以一次创建多个角色
语法:create role role_name,role_name2,role_name3;
比如有个部门跟我要个只读权限
那么我可以创建个角色叫test2_read,是不是见词知意,对test2库有只读权限。
MySQL8角色管理
然后把权限打包赋给角色
MySQL8角色管理
然后将角色添加给用户,用户叫韩梅梅,李雷喜欢的那个
MySQL8角色管理
刷新权限
MySQL8角色管理
让韩梅梅登录看看
MySQL8角色管理
what?我的只读权限呢?我的test2库的权限呢?看看是不是角色没赋上?
MySQL8角色管理
没毛病啊,其实是因为角色没有激活导致的,参数activate_all_roles_on_login默认为关闭
MySQL8角色管理
MySQL8角色管理
有两种激活方式
a、将activate_all_roles_on_login设置为ON
b、使用set default role 命令激活角色
我这里操作一下b选项
MySQL8角色管理
登出韩梅梅,再登入
MySQL8角色管理
MySQL8角色管理
哈哈可以了

将角色从账号身上撤销
语法:revoke role from user;
比如韩梅梅不喜欢李雷了,她离职了
MySQL8角色管理
再次登录韩梅梅,已经没有了权限
MySQL8角色管理

去除和添加角色上某些权限
添加:
MySQL8角色管理
去除:
MySQL8角色管理

删除角色
drop role role_name;

猜你喜欢

转载自blog.51cto.com/8370646/2129833
今日推荐