角色管理
一、创建角色
创建的角色,默认是未激活的.
-- host_name 默认为 % , 可以省略
create role 'role_name'@'host_name';
create role 'role1', 'role2'@'%';
二、给角色赋权
grant privileges on database_name.table_name to 'role_name'@'host_name';
-- 和给用户授权语法类似.
grant select,update on dbtest1.* to 'boss'@'%';
三、查看角色权限
show grants for 'boss';
四、回收角色权限
revoke update on dbtest1.* from 'boss'@'%';
五、删除角色
drop role 'boss';
六、给用户赋予角色
grant role_name to user_name;
grant 'boss' to 'user1'@'%';
grant 'boss'@'%' to 'user1'@'%';
show grants for 'user1'@'%';
七、激活角色
-- 1. set default role
set default role 'boss'@'%' to 'user1'@'%';
-- 2. 将 active_all_roles_on_login 设置为 ON
show variables like 'activate_all_roles_on_login';
set global activate_all_roles_on_login=ON;
-- 查看当前会话的角色
SELECT CURRENT_ROLE();