Part1:Grant Role?oracle
建立角色,oracle很早就支持建立角色的功能了,而MySQL5.7版本依然尚不支持。目前,只有MariaDB10.0/10.1版本里支持建立角色這項功能。
ide
Part2:爲何咱們須要角色spa
1.在實際工做中,有大量的用戶其權限是同樣的,好比只讀權限。若是每次在建立完用戶後,DBA再去對每一個用戶去分別受權,那會是一件很是麻煩的事情。orm
2.使用role的好處是DBA只需對權限種類進行劃分,而後將不一樣權限授予不一樣的role,而沒必要再去關注到底有哪些具體的用戶。blog
3.當角色權限發生變化時,好比添加成員或者刪除成員,系統管理員都無需執行任何關於權限的操做。get
Part3:Roles Overviewit
Part4:MariaDB的角色使用方式io
1)建立一個dbuser角色。class
2)給dbuser角色授予select/insert/update/delete權限。date
3)賦予helei@'%'用戶dbuser角色,並建立密碼 MANAGER 以下圖所示:
4)對helei用戶設置dbuser爲默認角色並開啓dbuser角色,以下圖所示:
5)這裏能夠看到,因爲只受權helei用戶dbuser角色,而dbuser角色並不具有create權限,所以在建表時會拋出create command denied錯誤。
——總結——
角色建立功能,大大下降了維護用戶權限的複雜度,也同時期待MySQL可以儘早支持該功能。因爲筆者的水平有限,編寫時間也很倉促,文中不免會出現一些錯誤或者不許確的地方,不妥之處懇請讀者批評指正。