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

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

(0)

相关推荐

  • MySQL安全配置向导mysql_secure_installation详解

    安装完mysql-server 会提示可以运行mysql_secure_installation.运行mysql_secure_installation会执行几个设置:   a)为root用户设置密码   b)删除匿名账号   c)取消root用户远程登录   d)删除test库和对test库的访问权限   e)刷新授权表使修改生效 通过这几项的设置能够提高mysql库的安全.建议生产环境中mysql安装这完成后一定要运行一次mysql_secure_installation,详细步骤请参看下面

  • MySQL导出数据遇到secure-file-priv问题的解决方法

    ERROR 1290 (HY000): The MySQL server is running with the –secure-file-priv option so it cannot execute this statement. 对于上述错误,相信对于第一次执行 MySQL 数据导出操作的同学大都会遇见.至于为什么会遇到这个错误,原因很简单,那就是:我们不知道 MySQL 默认的导出目录是哪里,甚至都不知道 MySQL 对于数据的导出目录都有所限制.这其实很正常,因为我们不可能知道所有事

  • 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

  • MySQL数据库设计之利用Python操作Schema方法详解

    弓在箭要射出之前,低声对箭说道,"你的自由是我的".Schema如箭,弓似Python,选择Python,是Schema最大的自由.而自由应是一个能使自己变得更好的机会. Schema是什么? 不管我们做什么应用,只要和用户输入打交道,就有一个原则--永远不要相信用户的输入数据.意味着我们要对用户输入进行严格的验证,web开发时一般输入数据都以JSON形式发送到后端API,API要对输入数据做验证.一般我都是加很多判断,各种if,导致代码很丑陋,能不能有一种方式比较优雅的验证用户数据呢

  • Mysql误操作后利用binlog2sql快速回滚的方法详解

    前言 在日常工作或者学习中,操作数据库时候难免会因为"大意"而误操作,需要快速恢复的话通过备份来恢复是不太可能的,下面这篇文章主要给大家介绍关于Mysql误操作后利用binlog2sql快速回滚的方法,话不多说,来一起看看详细的介绍: 一.总体解释: DML(data manipulation language): 它们是SELECT.UPDATE.INSERT.DELETE,就象它的名字一样,这4条命令是用来对数据库里的数据进行操作的语言 DDL(data definition la

  • CentOS 6.5 i386 安装MySQL 5.7.18详细教程

    大多数都是将MySQL编译好放在系统目录里而我的方式是将编译的文件放在指定的目录里 为了实现同一台机器可以开启多个MySQL实例进程 各个实例之间相互不影响.不需要root权限 下载CentOS6.5_X86  安装基于Basic Server http://archive.kernel.org/centos-vault/6.5/isos/i386/CentOS-6.5-i386-bin-DVD1.iso MySQL 官方下载       https://dev.mysql.com/downlo

  • Mysql 5.7.18安装方法及启动MySQL服务的过程详解

    MySQL 是一个非常强大的关系型数据库.但有些初学者在安装配置的时候,遇到种种的困难,在此就不说安装过程了,说一下配置过程.在官网下载的MySQL时候,有msi格式和zip格式.Msi直接运行安装即可,zip则解压在自己喜欢的目录地址即可.在安装这两种的时候,都需要配置才能用.以下介绍主要是msi格式默认的地址:C:\Program Files\ mysql-5.7.18-win32. 一.在安装或者解压后,需要配置环境变量,过程如下:我的电脑->属性->高级系统设置->高级->

  • MySQL 5.7.18 release版安装指南(含有bin文件版本)

    与源码版本安装过程基本一致,除了编译环节,本文只谈release版,即含有bin文件版本 好处:每个用户可安装属于自己的MySQL Server 目标主机系统:CentOS 6.8 用户:saojie(没有管理员权限) 目录:/home/saojie/mysql-5.7.18 下载 Linux Generic 地址:https://dev.mysql.com/downloads/mysql/ 解压 tar zxvf mysql-5.7.18-linux-glibc2.5-x86_64.tar.g

  • CentOS 6.6 源码编译安装MySQL 5.7.18教程详解

    一.添加用户和组 1.添加mysql用户组 # groupadd mysql 2.添加mysql用户 # useradd -g mysql -s /bin/nologin mysql -M 二.查看系统中是否安装mysql,如果安装需要卸载 # rpm -qa | grep mysql mysql-libs-5.1.73-3.el6_5.x86_64 # rpm -e mysql-libs-5.1.73-3.el6_5.x86_64 --nodeps 三.安装所需依赖包 # yum -y ins

  • 使用YUM在Linux(CentOS 7)下安装mysql 5.7.18的教程详解

    项目需要使用MySQL,由于以前都是在windows下傻瓜式安装,基本没有遇到什么问题,但是这次是在服务器上安装,由于到Linux上安装软件不熟悉,走了不少弯路,耽误了好多时间.总结下来,以免下次再走弯路. ****************************图片插入不成功,不知道是怎么回事********************************* 一.各种环境: linux版本:CentOS Linux release 7.2.1511 (core) mysql版本:communi

  • MySQL 5.7.18 免安装版配置教程

    MySQL 5.7.18免安装版安装教程 MySQL是世界上目前最流行的开源数据库.许多大厂的核心存储往往都是MySQL. 要安装MySQL,可以直接去官方网站下载.本教程将说明对于MySQL的免安装版如何进行配置和安装. 官方下载:https://www.mysql.com/downloads/ 选择 Download MySQL Community Server 根据自己的电脑位数选择对应的下载. 下载完成后解压缩,自定义目录. 解压缩后并不能马上使用MySQL,还需要进行环境变量的配置 我

  • mysql 5.7.18 winx64 免安装 配置方法

    1. 下载 2. 解压缩 3. 添加path环境变量,路径指向mysql所在bin目录下 4. 在主目录下创建data文件夹 5. 注册windows系统服务 新建一个my.ini文件,拷贝到c:\windows目录下,内容如下: [client] port=3306 default-character-set=utf8 [mysqld] # 设置为MYSQL的安装目录 basedir=C:\_04Tools\mysql-5.7.18-winx64 # 设置为MYSQL的数据目录 datadir

随机推荐