MySQL8权限,角色
角色
- 创建角色
- 给角色赋予权限
- 删除权限
- 给用户赋予角色
- 激活角色
- 撤销用户权限
创建角色
mysql> create role boss;
Query OK, 0 rows affected (0.01 sec)mysql> create role manager;
Query OK, 0 rows affected (0.01 sec)
给角色赋予权限
manager角色拥有查询sales表的权限
mysql> grant select on `study-test01`.sales to manager@'%';
Query OK, 0 rows affected (0.01 sec)mysql> show grants for manager;
+---------------------------------------------------------+
| Grants for manager@% |
+---------------------------------------------------------+
| GRANT USAGE ON *.* TO `manager`@`%` |
| GRANT SELECT ON `study-test01`.`sales` TO `manager`@`%` |
+---------------------------------------------------------+
2 rows in set (0.00 sec)
usage 表示连接并登录数据库的权限,这个是MySQL默认的权限。只要是root创建的用户和角色都有。
删除权限
mysql> drop role tmp_role@'localhost';
Query OK, 0 rows affected (0.01 sec)
给用户赋予角色
mysql> create user sam;
Query OK, 0 rows affected (0.01 sec)mysql> select user, host, grant_priv from mysql.user;
+------------------+-----------+------------+
| user | host | grant_priv |
+------------------+-----------+------------+
| boss | % | N |
| manager | % | N |
| sam | % | N |
| mysql.infoschema | localhost | N |
| mysql.session | localhost | N |
| mysql.sys | localhost | N |
| root | localhost | Y |
+------------------+-----------+------------+
7 rows in set (0.00 sec)mysql> show grants for sam;
+---------------------------------+
| Grants for sam@% |
+---------------------------------+
| GRANT USAGE ON *.* TO `sam`@`%` |
+---------------------------------+
1 row in set (0.00 sec)mysql> grant manager to sam@'%';
Query OK, 0 rows affected (0.00 sec)mysql> show grants for sam;
+----------------------------------+
| Grants for sam@% |
+----------------------------------+
| GRANT USAGE ON *.* TO `sam`@`%` |
| GRANT `manager`@`%` TO `sam`@`%` |
+----------------------------------+
2 rows in set (0.00 sec)mysql> alter user sam identified by '123';
Query OK, 0 rows affected (0.01 sec)
给用户赋予了角色,还需要手动激活角色。用户才能拥有角色对应的权限。
激活角色
手动激活用户的角色
mysql> SET DEFAULT ROLE ALL TO sam@'%';
Query OK, 0 rows affected (0.01 sec)
永久激活
mysql> show variables like 'activate_all_roles_on_login';
+-----------------------------+-------+
| Variable_name | Value |
+-----------------------------+-------+
| activate_all_roles_on_login | OFF |
+-----------------------------+-------+
1 row in set (0.00 sec)SET GLOBAL activate_all_roles_on_login=ON;
这样给用户赋予角色了,就有了对应的权限了。
使用用户sam
操作数据库。
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| study-test01 |
+--------------------+
2 rows in set (0.01 sec)mysql> use `study-test01`;
Database changed
mysql> show tables;
+------------------------+
| Tables_in_study-test01 |
+------------------------+
| sales |
+------------------------+
1 row in set (0.00 sec)mysql> select * from sales;
+----+-----------+--------------+-------------+
| id | city | county | sales_value |
+----+-----------+--------------+-------------+
| 1 | 北京市 | 朝阳区 | 10 |
| 2 | 北京市 | 海定区 | 20 |
| 3 | 上海市 | 浦东新区 | 30 |
| 4 | 上海市 | 徐汇区 | 40 |
+----+-----------+--------------+-------------+
4 rows in set (0.00 sec)mysql> delete from sales where id = 1;
ERROR 1142 (42000): DELETE command denied to user 'sam'@'localhost' for table 'sales'
mysql> update sales set city = 'hh' where id = 1;
ERROR 1142 (42000): UPDATE command denied to user 'sam'@'localhost' for table 'sales'
mysql> insert into sales values (1, 'a', 'b', 99);
ERROR 1142 (42000): INSERT command denied to user 'sam'@'localhost' for table 'sales'
可以看到sam
只有查询sales
表的权限。
撤销用户权限
REVOKE boss FROM user;
MySQL8权限,角色相关推荐
- SAP Basis DEBUG改表数据权限角色设计
SAP Basis DEBUG改表数据权限角色设计 项目实践中,因种种原因不得不要通过debug才能解决一些特定的问题,所以就涉及到了debug权限角色的定义了. DEBUG的权限,无非就是: 1)数 ...
- SpringMvc 集成 shiro 实现权限角色管理-maven
2019独角兽企业重金招聘Python工程师标准>>> SpringMvc 集成 shiro 实现权限角色管理 1.项目清单展示 2.项目源码解析 1)spring-context ...
- php v9 如何获取超级管理员权限,phpcms v9 增加后台管理员其他权限角色可以查看信息不能修改信息...
phpcms v9 增加后台管理员其他角色可以查看信息不能修改信息 phpcms\modules\content\templates\content_list.tpl.php 这里面判断是不是管理员角 ...
- Oracle查询用户权限角色(dba_sys_privs)
Oracle查询用户权限 数据字典 1.动态数据字典是以v$xxx开始的数据字典,在数据库中约有150个左右,这些数据字典反映数据库动态运行状况,在不同时间查询会得到不同的结果. 2.DBA数据字典是 ...
- 权限角色和岗位有什么区别?
答:在捷诚系统中,权限角色和岗位都是非常重要的概念. 权限角色是系统功能权限设置的基础,相当于用户分组,所有用户对应到相应权限角色,便具有该权限角色所赋予的所有功能权限. 岗位是在组织架构下的精细岗位 ...
- 权限角色管理学习(二)
在实际的工作中,可能还会有一个用户对应多个角色的需求 下面来写写表的设计 总共有六张表: 1.用户信息表 Accounts_Users (包含用户的基本信息,入用户名,性别等) 2.用户角色关联表 A ...
- oracle11 分配表权限,Oracle11g权限--角色
角色: 是具有名称的一组相关权限的组合,即将不同权限组合在一起就形成了角色.可以使用角色为用户授权,同样也可以从用户中回收角色. 一个角色集合了多种权限,所以为用户授予某个角色时,相当于为用户授予多种 ...
- Oracle的权限角色及用户
1 权限的分类: 系统权限:系统规定用户使用数据库(系统权限是针对用户而言的) 实体权限:某种权限的用户对于表或者视图的存取控制权限(针对表或者视图而言) 常见的权限列表(仅供参考) alter an ...
- GitLab权限角色详解,摘自gitLab权限说明文档
GitLab权限简单总结 用户角色 角色 权限说明 Guest 可以创建issue.发表评论,不能读写版本库 Reporter 可以克隆代码,不能提交,QA.PM可以赋予这个权限 Developer ...
最新文章
- idea的tomcat配置文件在哪里修改_MyBatis配置文件详解
- synchronous_commit 参数的再次说明
- HDUOJ 1060 Leftmost Digit
- laravel模板写php代码,Laravel框架之blade模板新手入门教程及小技巧
- Sql Server 邮件日志 操作
- 博图程序需要手动同步_贴吧求助帖博图实例单按钮控制灯的程序
- 数据装载服务器_操作事项_06
- C/C++面试题—合并两个排序的链表【递归和循环两种方式】
- mybatis 自动生成integer_通过mybatis-generator-core工具自动关联表生成对应model、mappers及dao层代码类完整教程...
- 把socket相关函数封装成类
- 数据库实验7 数据库视图的定义与使用
- hashmap8底层源码剖析1--构造以及put
- 黑马 Python 数据结构与算法第一章
- 关于win10中资源管理器卡顿的问题及解决办法
- 移动聚合支付招商,管道收入享长期分润
- Android 传感器篇:(一)方向传感器
- css 网页自适应 @media screen详解
- 五千来字小作文,是的,我们是有个HTTP。
- Feign实现RPC调用
- 程序员给女朋友庆祝节日的方式
热门文章
- 前端学习(1745):前端调试值之查看元素最终样式
- 前端学习(1178):vue基础
- 前端学习(682):switch和if else if
- mybatis学习(46):二级缓存被刷新的情况
- spring mvc学习(15)Referenced file contains errors
- 64 modol1模型
- asic面试题目 英伟达_免笔试!不限量!全球可编程图形处理技术领袖英伟达2021校园招聘火热进行中!...
- PyTorch系列 | 如何加快你的模型训练速度呢?
- 60分钟快速入门 PyTorch
- 特征工程之数据预处理(上)