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

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

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

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

删除角色 drop role role_name;