mysql各种role含义_MySQL8.0——role功能
role可以看做一个权限的集合,这个集合有一个统一的名字role名。可以给多个账户统一的某个role的权限权限的修改直接通过修改role来实现,不需要每个账户一个一个的grant权限,方便运维和管理。role可以创建、删除、修改并作用到他管理的账户上。(和Oracle数据库中的角色差不多)
官方文档:
https://dev.mysql.com/doc/refman/8.0/en/roles.html
官方给的案例:
--创建3个角色:
mysql> CREATE ROLE 'app_developer', 'app_read', 'app_write';
--给每个角色授权:
mysql> GRANT ALL ON app_db.* TO 'app_developer'; --:app_db给这个角色所有权限
mysql> GRANT SELECT ON app_db.* TO 'app_read'; --:app_db给这个角色只读权限
mysql> GRANT INSERT, UPDATE, DELETE ON app_db.* TO 'app_write'; --:app_db给这个角色写权限
--给每个用户授予不同的角色:
GRANT 'app_developer' TO 'dev1'@'localhost';
GRANT 'app_read' TO 'read_user1'@'localhost', 'read_user2'@'localhost';
GRANT 'app_read', 'app_write' TO 'rw_user1'@'localhost';
--当然,还可以针对某个表的权限 做角色,如:
mysql> grant select on testdb.emp to app_read;
2、强制定义角色:mandatory_roles
通过在mandatory_roles系统变量的值做设置,可以指定角色为强制性的。服务器将强制角色视为授予所有用户,因此不需要显式地授予任何帐户。
在配置文件中,添加:
[mysqld]
mandatory_roles='role1,role2@localhost,r3@%.example.com'
或者,在命令行中执行:
SET PERSIST mandatory_roles = 'role1,role2@localhost,r3@%.example.com';
例子:
①:首先建一个角色并授权:
mysql> CREATE ROLE app_developer;
mysql> GRANT ALL ON test.* TO app_developer;
--然后我们把这个参数设成这个角色:(意思是:凡是创建的用户指定了@'%'用户可以在任意客户端登录数据库,默认创建用户会拥有app_developer角色)
mysql> SET PERSIST mandatory_roles = 'app_developer@%';
--然后我们创建一个用户 并不赋权
mysql> create user test_user@'%' identified by 'test_user';
mysql> FLUSH PRIVILEGES;
--使用新用户登录数据库,然后可以直接set这个role
mysql> set role app_developer;
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| test |
+--------------------+
2 rows in set (0.00 sec)
注意:当一个角色被set了之后是不可以被删除的
3、检查用户的权限或角色,如:
mysql> SHOW GRANTS FOR zhang@'%';
+-----------------------------------+
| Grants for zhang@% |
+-----------------------------------+
| GRANT USAGE ON *.* TO `zhang`@`%` |
+-----------------------------------+
1 row in set (0.00 sec)
--扩展显示,把授予角色的内容也显示出来:
mysql> SHOW GRANTS FOR 'zhang'@'%' USING 'app_developer';
+-------------------------------------------------+
| Grants for zhang@% |
+-------------------------------------------------+
| GRANT USAGE ON *.* TO `zhang`@`%` |
| GRANT ALL PRIVILEGES ON `test`.* TO `zhang`@`%` |
+-------------------------------------------------+
2 rows in set (0.00 sec)
4、移除角色:
REVOKE role FROM user;
或者,将角色的权限移除:
REVOKE INSERT, UPDATE, DELETE ON app_db.* FROM 'app_write';
5、删除角色
DROP ROLE 'app_read', 'app_write';
mysql各种role含义_MySQL8.0——role功能相关推荐
- mysql root远程访问权限_mysql8.0 Server在Windows平台中的安装、初始化和远程访问设置...
mysql8.0 server安装 1.下载mysql 8.0 可以到mysql官网下载 https://dev.mysql.com/downloads/mysql 或者如下地址 mysql-8.0. ...
- mysql安装mac 压缩包_MySQL8.0安装详解(图文版)
点击关注 不迷路 MySQL8.0.22安装 MySQL8.0自2016年发布至今,已经更加的稳定和被大家接受,如今已经有很多公司放弃了5.7.x的版本,开始使用上了MySQL8.0. 大势所趋.本系 ...
- mysql workbench 修改密码_MySql8.0以上版本正确修改ROOT密码的方法
部署环境: 安装版本red hat Cent 7.0 MYSQL 版本 8.0.2.0 成功部署完毕后出现故障情况: 1. 正常启动MYSQL服务后,敲Linux中root账户和密码进入不去 ...
- mysql超详细教程_MySQL8.0.23安装超详细教程
前言 最近在做一个人脸识别的项目,需要用数据库保存学生信息与前段交互. MySQL的优点 1.mysql性能卓越,服务稳定,很少出现异常宕机. 2.mysql开放源代码且无版权制约,自主性及使用成本低 ...
- MySQL如何安装离线_mysql8.0.2离线安装配置方法图文教程
离线安装MySQL_8.0.2方法,供大家参考,具体内容如下 从MySQL官网中获取了下面这个压缩包: 解压之后变成这个样子: 文件里面是这个样子: 下面开始了,请注意. 第一大步:配置my.ini文 ...
- mysql 当天创建分区表_mysql8.0 定时创建分区表记录 每天定时创建下一天的分区表...
因单表数据太大, 需要表按时间分区 分区字段 pay_out_date 按天分 要求自动创建 1. 创建分区表 MYSQL的分区字段,必须包含在主键字段内 常见错误提示 错误提示:#1503 A PR ...
- mysql配置文件改密码_mysql8.0 安装教程(自定义配置文件,密码方式已修改)
下载zip安装包: MySQL8.0 For Windows zip包下载地址:https://dev.mysql.com/downloads/file/?id=476233,进入页面后可以不登录.后 ...
- mysql 8安装方法_Mysql8.0.17安装教程【推荐】
1.因为系统重装 又双叒叕开始了装myql数据库 下载安装包 https://dev.mysql.com/downloads/mysql/ 2.解压到你想安装的地方 3.解压完是没有图红色框中的文件的 ...
- mysql数据库压缩图片_MySQL8.0.20压缩版本安装教程图片加文字详解
1.MySQL下载地址: http://ftp.ntu.edu.tw/MySQL/Downloads/MySQL-Cluster-8.0/ 2.解压以后放在一个文件夹里面,创建my.ini配置文件: ...
最新文章
- android用户界面之菜单(Menu)教程实例汇总
- 生产型机器学习已经没那么困难了?
- 【Qt】打开现有 Qt 项目 ( 打开已存在的项目 | 运行打开的项目 )
- 最佳实践: 勿在 Servlet 中实现 SingleThreadModel
- 表的插入、更新、删除、合并操作_15_ 按照默认值更新表
- 从数据的角度解析计算机的发展,2017计算机知识考前冲刺试题及答案
- Keilc的中断号计算方法
- js中字符串操作函数
- 百度发起机器阅读理解竞赛,提供中文数据集,获胜团队奖10万
- 机器学习入门|线性回归(二)
- Java魔法堂:JVM的运行模式
- Ubuntu PPPOE拨号
- 打代码太苦,你需要一个鼓励师
- 微信发布2018年各年龄段用户使用数据报告
- Windows远程提示“终端服务器超出了最大允许连接”
- 性能测试场景设计深度解析
- MATLAB知识小结
- Podfile语法参考(译)
- html检测正则表达式,正则表达式在线测试工具
- 金田新材冲刺上交所:拟募资15.6亿 方文彬家族控制62%股权
热门文章
- 获取 本地/网 络图片尺寸
- serialport中Cannot set headers after they are sent to the client
- python [:,:,4:5]与 [:,:,4]的区别
- C++ switch用法(break的问题)
- 浅谈大数据的标签管理
- jQuery eq()方法 =》加载页面时单选框默认选中
- java 静态方法 调用非静态方法_java静态方法调用非静态方法
- 少儿机器人编程入门先学什么
- 基于像控点三维模型几何精纠正处理几种常用方法
- 计算机显示休眠状态进不去,如何让电脑进入不休眠状态,福利在这里,电脑系统怎样才能进入不休眠状态...