mysql 角色(role)管理功能实现、创建role,role权限赋值、激活(基于mysql8.0)

您所在的位置:网站首页 数据库角色权限怎么设置 mysql 角色(role)管理功能实现、创建role,role权限赋值、激活(基于mysql8.0)

mysql 角色(role)管理功能实现、创建role,role权限赋值、激活(基于mysql8.0)

2023-07-20 14:51| 来源: 网络整理| 查看: 265

以下操作都是基于mysql8.0的来实现的,电脑安装不上mysql 8.0的,请自行安装升级 创建角色(role)将role的权限赋值给一个用户查看用户被授权情况并激活权限!!重点,不然赋权之后用户也无法使用role里面的权限进一步改进 创建角色

CREATE ROLE xx; GRANT 权限 ON 数据库.表 TO XX;

--创建ROLE,并赋权限 create role read_SC; grant select on lab2.SC to read_SC;

删除角色 使用drop语句 可以使用语句select * from role_edges;来查看当前数据库中有哪些role

使用role给用户赋权和对用户收回权限 GRANT XXROLE TO 用户名; --创建ROLE,并赋权限 create role read_SC; grant select on lab2.SC to read_SC; --把ROLE赋给用户TEST grant read_SC to TEST;

测试效果 将一个能在数据库lab2中对表SC进行查找的ROLE赋给用户TEST 收回权限

REVOKE role FROM user; 查看授权情况并激活权限 使用 SHOW GRANTS.语句来查看一个用户的权限情况,例: show grants for TEST;

查询用户TEST的权限情况,结果如下(USAGE表示无权限): 在这里插入图片描述 *如果想知道用户所拥有的role里面有哪些权限,可以在结尾加个 using role

show grants for TEST using read_SC;

在这里插入图片描述 SELECT ON lab2.SC 就是ROLE read_SC里的权限

激活角色 授予用户帐户的角色可以在帐户会话中处于活动状态或非活动状态。如果授予的角色在会话中处于活动状态,则其权限适用; 否则,他们没有。要确定当前会话中哪些角色处于活动状态,请使用该 CURRENT_ROLE()功能。 使用SELECT CURRENT_ROLE();语句查询激活情况 正常情况下显示为: 在这里插入图片描述 激活role的方式: 1、使用set default role 命令 (非永久激活)

SET DEFAULT ROLE ALL TO 用户; 退出,重新登录 SELECT CURRENT_ROLE();

这是就可以看到角色已经激活了 2、 (永久激活) 要在用户连接到服务器时自动激活所有显式授权和强制角色,请启用activate_all_roles_on_login 系统变量。默认情况下,禁用自动角色激活。

SET global activate_all_roles_on_login=ON;

本文参考:mysql8.0参考手册



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3