角色

  • 创建角色
  • 给角色赋予权限
  • 删除权限
  • 给用户赋予角色
  • 激活角色
  • 撤销用户权限

创建角色

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权限,角色相关推荐

  1. SAP Basis DEBUG改表数据权限角色设计

    SAP Basis DEBUG改表数据权限角色设计 项目实践中,因种种原因不得不要通过debug才能解决一些特定的问题,所以就涉及到了debug权限角色的定义了. DEBUG的权限,无非就是: 1)数 ...

  2. SpringMvc 集成 shiro 实现权限角色管理-maven

    2019独角兽企业重金招聘Python工程师标准>>> SpringMvc 集成 shiro 实现权限角色管理 1.项目清单展示 2.项目源码解析  1)spring-context ...

  3. php v9 如何获取超级管理员权限,phpcms v9 增加后台管理员其他权限角色可以查看信息不能修改信息...

    phpcms v9 增加后台管理员其他角色可以查看信息不能修改信息 phpcms\modules\content\templates\content_list.tpl.php 这里面判断是不是管理员角 ...

  4. Oracle查询用户权限角色(dba_sys_privs)

    Oracle查询用户权限 数据字典 1.动态数据字典是以v$xxx开始的数据字典,在数据库中约有150个左右,这些数据字典反映数据库动态运行状况,在不同时间查询会得到不同的结果. 2.DBA数据字典是 ...

  5. 权限角色和岗位有什么区别?

    答:在捷诚系统中,权限角色和岗位都是非常重要的概念. 权限角色是系统功能权限设置的基础,相当于用户分组,所有用户对应到相应权限角色,便具有该权限角色所赋予的所有功能权限. 岗位是在组织架构下的精细岗位 ...

  6. 权限角色管理学习(二)

    在实际的工作中,可能还会有一个用户对应多个角色的需求 下面来写写表的设计 总共有六张表: 1.用户信息表 Accounts_Users (包含用户的基本信息,入用户名,性别等) 2.用户角色关联表 A ...

  7. oracle11 分配表权限,Oracle11g权限--角色

    角色: 是具有名称的一组相关权限的组合,即将不同权限组合在一起就形成了角色.可以使用角色为用户授权,同样也可以从用户中回收角色. 一个角色集合了多种权限,所以为用户授予某个角色时,相当于为用户授予多种 ...

  8. Oracle的权限角色及用户

    1 权限的分类: 系统权限:系统规定用户使用数据库(系统权限是针对用户而言的) 实体权限:某种权限的用户对于表或者视图的存取控制权限(针对表或者视图而言) 常见的权限列表(仅供参考) alter an ...

  9. GitLab权限角色详解,摘自gitLab权限说明文档

    GitLab权限简单总结 用户角色 角色 权限说明 Guest 可以创建issue.发表评论,不能读写版本库 Reporter 可以克隆代码,不能提交,QA.PM可以赋予这个权限 Developer ...

最新文章

  1. idea的tomcat配置文件在哪里修改_MyBatis配置文件详解
  2. synchronous_commit 参数的再次说明
  3. HDUOJ 1060 Leftmost Digit
  4. laravel模板写php代码,Laravel框架之blade模板新手入门教程及小技巧
  5. Sql Server 邮件日志 操作
  6. 博图程序需要手动同步_贴吧求助帖博图实例单按钮控制灯的程序
  7. 数据装载服务器_操作事项_06
  8. C/C++面试题—合并两个排序的链表【递归和循环两种方式】
  9. mybatis 自动生成integer_通过mybatis-generator-core工具自动关联表生成对应model、mappers及dao层代码类完整教程...
  10. 把socket相关函数封装成类
  11. 数据库实验7 数据库视图的定义与使用
  12. hashmap8底层源码剖析1--构造以及put
  13. 黑马 Python 数据结构与算法第一章
  14. 关于win10中资源管理器卡顿的问题及解决办法
  15. 移动聚合支付招商,管道收入享长期分润
  16. Android 传感器篇:(一)方向传感器
  17. css 网页自适应 @media screen详解
  18. 五千来字小作文,是的,我们是有个HTTP。
  19. Feign实现RPC调用
  20. 程序员给女朋友庆祝节日的方式

热门文章

  1. 前端学习(1745):前端调试值之查看元素最终样式
  2. 前端学习(1178):vue基础
  3. 前端学习(682):switch和if else if
  4. mybatis学习(46):二级缓存被刷新的情况
  5. spring mvc学习(15)Referenced file contains errors
  6. 64 modol1模型
  7. asic面试题目 英伟达_免笔试!不限量!全球可编程图形处理技术领袖英伟达2021校园招聘火热进行中!...
  8. PyTorch系列 | 如何加快你的模型训练速度呢?
  9. 60分钟快速入门 PyTorch
  10. 特征工程之数据预处理(上)