zoukankan      html  css  js  c++  java
  • MariaDB Role

     一、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后,之前被赋值的用户,不再拥有任何权限

  • 相关阅读:
    【LCT维护基环内向树森林】BZOJ4764 弹飞大爷
    【LCT】BZOJ3091 城市旅行
    【LCT+主席树】BZOJ3514 Codechef MARCH14 GERALD07加强版
    【最大权闭合子图】bzoj4873 [Shoi2017]寿司餐厅
    【LCT】BZOJ2049 [SDOI2008]Cave 洞穴勘测
    【有上下界的网络流】ZOJ2341 Reactor Cooling(有上下界可行流)
    【费用流】BZOJ1061: [Noi2008]志愿者招募(这题超好)
    从输入url到页面加载的过程
    forEach和map的区别
    理解 JavaScript 对象原型、原型链如何工作、如何向 prototype 属性添加新的方法。
  • 原文地址:https://www.cnblogs.com/xibuhaohao/p/9952475.html
Copyright © 2011-2022 走看看