共计 712 个字符,预计需要花费 2 分钟才能阅读完成。
Part1:Grant Role?
创建角色,Oracle 很早就支持创建角色的功能了,而 MySQL5.7 版本依然尚不支持。目前,只有 MariaDB10.0/10.1 版本里支持创建角色这项功能。
Part2: 为什么我们需要角色
1. 在实际工作中,有大量的用户其权限是一样的,比如只读权限。如果每次在创建完用户后,DBA 再去对每个用户去分别授权,那会是一件非常麻烦的事情。
2. 使用 role 的好处是 DBA 只需对权限种类进行划分,然后将不同权限授予不同的 role, 而不必再去关注到底有哪些具体的用户。
3. 当角色权限发生变化时,比如添加成员或者删除成员,系统管理员都无需执行任何关于权限的操作。
Part3:Roles Overview
Part4:MariaDB 的角色使用方式
1) 创建一个 dbuser 角色。
2) 给 dbuser 角色授予 select/insert/update/delete 权限。
3) 赋予 helei@’%’ 用户 dbuser 角色,并创建密码 MANAGER 如下图所示:
4) 对 helei 用户设置 dbuser 为默认角色并开启 dbuser 角色,如下图所示:
5) 这里可以看到,由于只授权 helei 用户 dbuser 角色,而 dbuser 角色并不具备 create 权限,因此在建表时会抛出 create command denied 错误。
—— 总结 ——
角色创建功能,大大降低了维护用户权限的复杂度,也同时期待 MySQL 能够尽早支持该功能。 由于笔者的水平有限,编写时间也很仓促,文中难免会出现一些错误或者不准确的地方,不妥之处恳请读者批评指正。
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2016-10/135744.htm