mysql 角色(role)管理功能实现、创建role,role权限赋值、激活(基于mysql8.0) |
您所在的位置:网站首页 › 数据库角色权限怎么设置 › mysql 角色(role)管理功能实现、创建role,role权限赋值、激活(基于mysql8.0) |
以下操作都是基于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 |