mysql角色的管理:创建、修改、删除角色、给用户授予、撤销角色

1 角色的概念

角色是在MySQL8.0中引入的新功能。在MySQL中,角色是权限的集合,可以为角色添加或移除权限。用户可以被赋予角色,同时也被授予角色包含的权限。对角色进行操作需要较高的权限。并且像用户账户一样,角色可以拥有授予和撤消的权限。
引入角色的目的是方便管理拥有相同权限的用户恰当的权限设定,可以确保数据的安全性,这是至关重要的

2 角色与权限的管理

2.1 创建角色

create role 'role_name'[@'host_name'];

2.2 给角色赋予权限

grant privileges on table_name to 'role_name'[@'host_name']

2.3 查看角色权限

show grants for 'role_name'[@'host_name'];

2.4 回收角色的权限

revoke privileges on table_name from 'role_name';
#例
revoke insert,update,delete on school.* from 'school_write';

2.5 删除角色

drop role 'role_name';

3 角色与用户的管理

3.1 给用户授予角色

grant 'role_name'[@ 'host_name'] to 'user_name'[@ 'host_name']
#授予权限后需要激活才生效
set default 'role_name'[@ 'host_name'] all to 'user_name'[@ 'host_name'];
#或者设置默认系统参数
show variables like 'activate_all_roles_on_login';#查看
set global activate_all_roles_on_login = ON;#设置状态为开启

3.2 撤销用户的角色

revoke 'role_name'[@ 'host_name'] from 'user_name'[@ 'host_name']

3.3 设置强制角色

强制角色是给每个创建账户的默认角色,不需要手动设置。强制角色无法被REVOKE或者DROP

#方式一:服务器启动前设置
mandatory_role='role1,role2@localhost,r3@%'
#方式二:运行时设置
set persist mandatory_roles='role1,role2@localhost,r3@exanple.com';#系统重启后仍然有效
set global mandatory_roles = 'role1,role2@localhost,r3@exanple.com';#系统重启后失效
  • 16
    点赞
  • 99
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值