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


Part1:Grant Role?

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


Part2:为什么我们需要角色

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

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

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


Part3:Roles Overview

mariadb创建表语句 mariadb创建用户命令_数据库



Part4:MariaDB的角色使用方式

1)创建一个dbuser角色。

2)给dbuser角色授予select/insert/update/delete权限。

3)赋予helei@'%'用户dbuser角色,并创建密码 MANAGER 如下图所示:

mariadb创建表语句 mariadb创建用户命令_数据库_02



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

mariadb创建表语句 mariadb创建用户命令_MySQL_03



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

mariadb创建表语句 mariadb创建用户命令_mariadb创建表语句_04



——总结——

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






 本文转自 dbapower 51CTO博客,原文链接:http://blog.51cto.com/suifu/1858005

,如需转载请自行联系原作者