评论

收藏

[MySQL] 5分钟了解MariaDB创建角色功能

数据库 数据库 发布于:2021-07-03 21:38 | 阅读数:589 | 评论:0

DSC0000.jpg




5分钟了解MariaDB创建角色功能


Part1:Grant Role?
创建角色,oracle很早就支持创建角色的功能了,而MySQL5.7版本依然尚不支持。目前,只有MariaDB10.0/10.1版本里支持创建角色这项功能。

  
  Part2:为什么我们需要角色
  1.在实际工作中,有大量的用户其权限是一样的,比如只读权限。如果每次在创建完用户后,DBA再去对每个用户去分别授权,那会是一件非常麻烦的事情。
  2.使用role的好处是DBA只需对权限种类进行划分,然后将不同权限授予不同的role,而不必再去关注到底有哪些具体的用户。
  3.当角色权限发生变化时,比如添加成员或者删除成员,系统管理员都无需执行任何关于权限的操作。
  

  Part3:Roles Overview
DSC0001.jpg

  
  
  Part4:MariaDB的角色使用方式
  1)创建一个dbuser角色。
  2)给dbuser角色授予select/insert/update/delete权限。
  3)赋予helei@'%'用户dbuser角色,并创建密码 MANAGER 如下图所示:
DSC0002.jpg

  

  

  4)对helei用户设置dbuser为默认角色并开启dbuser角色,如下图所示:
DSC0003.jpg

  

  

  5)这里可以看到,由于只授权helei用户dbuser角色,而dbuser角色并不具备create权限,因此在建表时会抛出create command denied错误。
DSC0004.jpg

  


——总结——

角色创建功能,大大降低了维护用户权限的复杂度,也同时期待MySQL能够尽早支持该功能。由于笔者的水平有限,编写时间也很仓促,文中难免会出现一些错误或者不准确的地方,不妥之处恳请读者批评指正。
  

  

  


  
关注下面的标签,发现更多相似文章