MySql5.7模拟角色

MySql5.7角色管理

mysql5.7:proxies_priv(模拟角色),可以实现用户组的管理。
角色(role)可以批量管理用户,同一个角色下面的数据都有相同的权限
mysql5.7是通过mysql.proxies_priv模拟实现角色管理的。


配置模拟角色

mysql.proxies_priv仅仅是对Role模拟
https://www.cnblogs.com/imweihao/p/7197619.html


1.打开proxy功能

-- 查看是否打开proxy功能
show variables like '%proxy_users%';

image.png

-- 临时开启
set global check_proxy_users=on;

-- 临时开启
set global mysql_native_password_proxy_users=on;

image.png


持久化配置

# 启用代理用户名称验证,确保它们对应于现有的 MySQL 用户。
## 如果设置为 "off",则可以使用任何字符串作为代理用户名称,即使它不对应于实际的 MySQL 用户。
check_proxy_users=on

# 要求代理用户使用 mysql_native_password 插件进行身份验证。
## 只有使用该插件进行身份验证的代理用户才能连接到 MySQL 服务器。如果您没有特定需要允许代理用户使用其他插件进行身份验证,则应将此参数设置为 "off"。
msyql_native-password_proxy_users=on

2.创建用户

注意,角色(role)用户也是用户.

-- 创建it_dba角色用户
create user 'it_dba';

-- 创建it1用户
create user 'itl';
-- 创建it2用户
create user 'it2'
-- 创建it3用户
create user 'it3'

3.映射用户权限

角色(role)用户的权限授权到it1,it2后,it1和it2的权限将和it_dba一样。

-- 将it_dba角色用户的权限映射到it1 it2
grant proxy on 角色名 to 用户名;

grant proxy on it_dba to it1;
grant proxy on it_dba to it2;

权限映射示例

-- 授予accounting账号在本地主机上与任何主机连接的任何用户使用代理的特权。代理用户指定为空字符串('')。
GRANT PROXY ON accounting@localhost TO ' '@'%';

-- 返回与当前用户相关的三个系统变量。
-- USER()返回服务器当前认证的用户的用户名和主机名。
-- CURRENT_USER()返回服务器用于认证客户端的当前用户的用户名和主机名。
-- CURRENT_USER()的权限是真正当前作用的用户权限
-- @@proxy_user返回通过代理用户调用当前连接的用户的用户名和主机名。
SELECT USER(), CURRENT_USER(), @@proxy_user;

在这里插入图片描述


4.给it_dba角色用户授予权限

-- 给it_dba授予实际的权限
-- 授予指定库名的所有表的SELECT权限
grant SELECT on 指定库名.* to it_dba;
-- 保存权限配置
flush privileges;

5.检查权限

-- 查看it_dba模拟角色的权限
show grant for it_dba;

-- 查看it用户的权限
show grant for it1;
show grant for it2;
show grant for it3;

-- 查看授权用户代理的信息
SELECT * FROM mysql.'proxies_priv';
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

识途老码

赞赏是第一生产力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值