当前位置: 首页 > 编程笔记 >

Mysql 5.7.18 利用MySQL proxies_priv实现类似用户组管理

宁鹏程
2023-03-14
本文向大家介绍Mysql 5.7.18 利用MySQL proxies_priv实现类似用户组管理,包括了Mysql 5.7.18 利用MySQL proxies_priv实现类似用户组管理的使用技巧和注意事项,需要的朋友参考一下

利用 MySQL proxies_priv(模拟角色)实现类似用户组管理

角色(Role)可以用来批量管理用户,同一个角色下的用户,拥有相同的权限。

MySQL5.7.X以后可以模拟角色(Role)的功能,通过mysql.proxies_priv模拟实现

1、配置proxy

mysql> show variables like "%proxy%"; #查看当前proxy是否开启,下图表示没有开启

mysql> set global check_proxy_users =on; #开启proxy 下图表示已开启
mysql> set global mysql_native_password_proxy_users = on;

mysql> exit
Bye #以上设置参数,对当前会话无效,需要退出后重新登录,或直接设置到my.cnf中去

2、创建用户

mysql> create user will_dba; #类似组
mysql> create user 'will';
mysql> create user 'tom'; 
#密码就不设置了,如需设置密码后面加上identified by '123'

3、将will_dba的权限映射(map)到will,tom

mysql> grant proxy on will_dba to will;
mysql> grant proxy on will_dba to tom;

4、给will_dba(模拟的Role)赋予实际权限

mysql> grant select on *.* to will_dba;

5、查看 will_dba 的权限

mysql> show grants for will_dba;

6、查看will,和tom 的权限

mysql> show grants for will;

mysql> show grants for tom;

7、查看 proxies_priv的权限

mysql> mysql> select * from mysql.proxies_priv;

8、验证

使用will和tom用户查看数据库

[root@test-1 ~]# mysql -utom -p
mysql> show databases; #tom用户我们之前没有赋予权限,但这里可以查看
mysql> show tables;
mysql> select * from user\G

mysql.proxies_priv仅仅是对Role的模拟,和Oracle的角色还是有所不同.官方称呼为Role like

MySQL5.6.X模拟Role功能需要安装插件,具体方法请参考:

https://dev.mysql.com/doc/refman/5.6/en/proxy-users.html

https://dev.mysql.com/doc/refman/5.6/en/pluggable-authentication.html

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。

 类似资料:
  • 我对AWS相当陌生,尽管我在搜索和阅读角色 用例示例: User1在名为“Groups”的表中创建项目“Group_A”。 User2在名为“Groups”的表中创建项目“Group_B”。 另一个名为“Messages”的表有一个排序键,可以是表“Groups”中的任何项 User1如何在不允许访问User2的情况下将“组A”的“消息”的访问权授予User3和User4。

  • Webservice->实现层->Dao层。 实现层实际上将DAO对象转换为业务对象,并将其传递回服务。 我的目标是为服务层编写JUnit。现在,为了实现这一点,我使用@mock和@injectmocks来模拟实现层中的值,因为实现层使用的是spring注释字段。但每次测试时都会出现空指针异常。下面是代码 测试类: 但它并不是在嘲弄价值,如 当(managera.consulterfichesol

  • 本文向大家介绍C语言利用结构体数组实现学生成绩管理系统,包括了C语言利用结构体数组实现学生成绩管理系统的使用技巧和注意事项,需要的朋友参考一下 要求: 某班有最多不超过30人(具体人数由键盘输入)参加期末考试,最多不超过6门(具体门数由键盘输入)。定义结构体类型描述学生信息,每个学生信息包括:学号、姓名、多门课的成绩、总成绩和平均成绩。用结构体数组作为函数参数,编程实现如下菜单驱动的学生成绩管理系

  • 关于这部分内容,笔者在日常的linux系统管理工作中用到的并不多,但这并不代表该内容不重要。毕竟linux系统是一个多用户的系统,每个账号都干什么用,你必须了如指掌。因为这涉及到一个安全的问题。 【认识/etc/passwd和/etc/shadow】 这两个文件可以说是linux系统中最重要的文件之一。如果没有这两个文件或者这两个文件出问题,则你是无法正常登录linux系统的。 /etc/pass

  • 本文向大家介绍详解利用eventemitter2实现Vue组件通信,包括了详解利用eventemitter2实现Vue组件通信的使用技巧和注意事项,需要的朋友参考一下 概述 当两个组件之间没有任何父子关系时,利用Vue标准的props传值和emit触发事件无法解决他们之间通信的问题。最近做的项目使用的是eventemitter2,来实现不相关组件之间的通信。这篇文章分享的是我对eventemitt

  • 本文向大家介绍Linux 中有效用户组和初始用户组的实现,包括了Linux 中有效用户组和初始用户组的实现的使用技巧和注意事项,需要的朋友参考一下 先查看一下 /etc/group 文件: 这个文件的每一行代表一个用户组,以冒号分隔各个字段。共有4个字段,分别是: ==用户组名称== ==用户组密码==:通常不需要设置,这个设置通常是给“用户组管理员”是用的。 ==GID==:用户组 ID ==此