一、MariaDB Role介绍

MariaDB从10.0/10.1版本开始支持role。

Role相当于各种权限的集合,可以给多个账户统一权限的修改直接通过修改role来实现,不需要每个账户一个一个的grant权限,方便运维和管理。role可以创建、删除、修改并作用到他管理的账户上。

Role优点:

1.在实际工作中,有大量的用户其权限是一样的,比如只读权限。如果每次在创建完用户后,DBA再去对每个用户去分别授权,那会是一件非常麻烦的事情。

2.使用role的好处是DBA只需对权限种类进行划分,然后将不同权限授予不同的role,而不必再去关注到底有哪些具体的用户。

3.当角色权限发生变化时,比如添加成员或者删除成员,系统管理员都无需执行任何关于权限的操作。

二、Role各种操作与注意事项

1.创建Role,并赋值给用户

1)新建Role,并赋予Role所有库的查询权限

create role v_select;

grant select on *.* to v_select;

2)新建测试用户,并将v_select Role赋值给测试用户

create user hope@'127.0.0.1' identified by 'hope';

flush privileges;

grant v_select to hope@'127.0.0.1';

3)测试用户登录数据库,并查询数据

此时用户查询不到数据,用户也没有拥有任何Role

4)测试用户激活Role,并查询

set default role 与set role都要执行,set role只能使当前session 的role生效,推出后再次登录,role失效。

set default role v_select;

set role v_select;

2、追加新的权限到Role

1)将create权限赋值给v_select Role

grant create  on *.* to v_select;

以为v_select Role还没有drop table 的权限,所以用户hope不能删除表

2)将drop权限赋值给v_select

grant drop on *.* to v_select;

3、DDL与DML追加到Role,用户生效问题

1)DDL追加到Role

上面2中,已经验证DDL追加到Role后,需要当前用户退出当前session后再登录数据库才能生效。

2)DML追加到Role,当前session不生效,要退出后,再登录才能生效

grant insert on *.* to v_select;

4.撤销Role拥有的权限

撤销Role拥有的权限后,用户立即失去相应权限

revoke insert on *.* from  v_select;

insert into test values(2);
ERROR 1142 (42000): INSERT command denied to user 'hope'@'127.0.0.1' for table 'test'

5.删除Role

drop role v_select;

删除role后,之前被赋值的用户,不再拥有任何权限

MariaDB Role的更多相关文章

  1. Ansible系列(五):playbook应用和roles自动化批量安装示例

    html { font-family: sans-serif } body { margin: 0 } article,aside,details,figcaption,figure,footer,h ...

  2. Ansible系列(四):playbook应用和roles自动化批量安装示例

    Ansible系列文章:http://www.cnblogs.com/f-ck-need-u/p/7576137.html playbook是ansible实现批量自动化最重要的手段.在其中可以使用变 ...

  3. 自动化运维工具-Ansible之7-roles

    自动化运维工具-Ansible之7-roles 目录 自动化运维工具-Ansible之7-roles Ansible Roles基本概述 Ansible Roles目录结构 Ansible Roles ...

  4. Mariadb 10.1 joiner节点加入报错WSREP: Failed to prepare for incremental state transfer

    Mariadb 10.1 galera cluster 集群joiner 节点加入集群 会出现这种报错,导致mysql一直点点点,这里我贴出报错.2016年04月19日13:34:58 2016-04 ...

  5. 翻译:CREATE FUNCTION语句(已提交到MariaDB官方手册)

    本文为mariadb官方手册:CREATE FUNCTION的译文. 原文:https://mariadb.com/kb/en/library/create-function/我提交到MariaDB官 ...

  6. Mastering MariaDB 神秘的MariaDB 中文翻译版

    是某群的哥们义务翻译的,宣传一下,还没时间时间读,粗滤看了全部翻译完了300多页佩服 https://github.com/CMant/Mastering-MariaDB- 原地址:如果你需要读,请s ...

  7. mariadb审计日志通过 logstash导入 hive

    我们使用的 mariadb, 用的这个审计工具 https://mariadb.com/kb/en/library/mariadb-audit-plugin/ 这个工具一点都不考虑后期对数据的处理, ...

  8. MariaDB 10 (MySQL DB) 多主复制并实现读写分离

    ----本文大纲 简介 资源配置 拓扑图 实现过程 ==================== 一.简介 MMM 即Master-Master Replication Manager for MySQL ...

  9. MariaDB Galera Cluster环境搭建及高可用测试

    一.服务器概况Galera Cluster需要至少三个节点,在此次实验过程中,三个节点IP地址:192.168.56.101192.168.56.102192.168.56.103OS为centos ...

随机推荐

  1. JAVA基础知识总结:十五

    一.Set接口 Set集合不允许包含相同的元素,如果试图将两个相同的元素添加到一个集合中,使用add方法,添加失败,返回false 1.HashSet HashSet是Set集合的一个实现类,大多数情 ...

  2. What is a working set and how do I use it?

    //http://www.avajava.com/tutorials/lessons/what-is-a-working-set-and-how-do-i-use-it.html Working se ...

  3. 非常棒的——python Deep learning 学习笔记

    https://www.cnblogs.com/zhhfan/p/9985991.html

  4. c++的const总结

    转自:http://www.cnblogs.com/yc_sunniwell/archive/2010/07/14/1777416.html 为什么使用const?采用符号常量写出的代码更容易维护:指 ...

  5. Vue Authentication And Route Handling Using Vue-router(详解)

    英文原文  (本文原出处),本博在原文的基础上,进一步分析代码的结构和解释代码. git 代码 创建一个app:  vue-router-auth 本文详解了如何使用vue-router建立路由记录对 ...

  6. hdoj1043

    8数码问题有解:除0外逆序数%2相等.16数码有解:除0外,如果0的行数相差奇数个,逆序也差奇数个,vice versa.

  7. Android 如何更改一个 imageview的颜色

    xml中可以使用tint属性 tips:这里的图片必须是png格式的文件才行,不然你得到的就是一个被纯色覆盖的图 java中 使用 imageView.setColorFilter(Color.WHI ...

  8. First Bad Version leetcode java

    问题描述: You are a product manager and currently leading a team to develop a new product. Unfortunately ...

  9. Date类型与String类型的相关问题

    今天完成boss交代的任务时,遇到Date类型与String类型的相关问题,参考了网上的一些例子,并且自己写了demo,现在记录下了总结一下: (一)判断一个字符串是不是合法的日期格式 public ...

  10. 『计算机视觉』Mask-RCNN_推断网络其四:FPN和ROIAlign的耦合

    一.模块概述 上节的最后,我们进行了如下操作获取了有限的proposal, # [IMAGES_PER_GPU, num_rois, (y1, x1, y2, x2)] # IMAGES_PER_GP ...