快速了解MariaDB创建角色功能

Part1:Grant Role?

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

Part2:为什么我们需要角色

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

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

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

Part3:Roles Overview

快速了解MariaDB创建角色功能

Part4:MariaDB的角色使用方式

1)创建一个dbuser角色。

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

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

快速了解MariaDB创建角色功能

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

快速了解MariaDB创建角色功能

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

快速了解MariaDB创建角色功能 

——总结——

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

相关推荐