日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

MySQL 角色(role)功能介紹

瀏覽:59日期:2023-10-03 16:38:05
前言:

上篇文章,我們介紹了 MySQL 權限管理相關知識。當數據庫實例中存在大量的庫或用戶時,權限管理將會變得越來越繁瑣,可能要頻繁進行權限變更。MySQL 8.0 新增了 role 功能,使得權限管理更加方便,本篇文章我們來看下 8.0 下的 role 功能。

1. role 簡介

role 角色功能對于 Oracle 數據庫來說不算是什么特殊,在 Oracle 中經常被用到。MySQL 8.0 版本終于新增了 role 功能,為數據庫用戶權限管理提供了一種新思路。

role 可以看做一個權限的集合,這個集合有一個統一的名字 role 名。可以給多個數據庫用戶授予同個 role 的權限,權限變更可直接通過修改 role 來實現,不需要每個用戶一個一個的去變更,方便運維和管理。role 可以創建、刪除、修改并作用到它管理的用戶上。

下面我們具體來體驗下 role 角色功能:

# 創建rolemysql> create role ’dev_role’;Query OK, 0 rows affected (0.15 sec)# 給role授予權限mysql> grant select on db1.* to ’dev_role’@’%’;Query OK, 0 rows affected (0.12 sec)# 查看role的權限mysql> show grants for ’dev_role’@’%’;+-------------------------------------------+| Grants for dev_role@% |+-------------------------------------------+| GRANT USAGE ON *.* TO `dev_role`@`%` || GRANT SELECT ON `db1`.* TO `dev_role`@`%` |+-------------------------------------------+# 創建用戶 并賦予角色權限mysql> create user ’dev1’@’%’ identified by ’123456’;Query OK, 0 rows affected (0.68 sec)mysql> grant ’dev_role’ to ’dev1’@’%’;Query OK, 0 rows affected (0.38 sec)# 查看用戶權限mysql> show grants for ’dev1’@’%’;+------------------------------------+| Grants for dev1@% |+------------------------------------+| GRANT USAGE ON *.* TO `dev1`@`%` || GRANT `dev_role`@`%` TO `dev1`@`%` |+------------------------------------+2 rows in set (0.63 sec)# 使用dev1用戶登錄root@localhost ~]# mysql -udev1 -p123456mysql> show databases;+--------------------+| Database |+--------------------+| information_schema |+--------------------+1 row in set (0.34 sec)mysql> select CURRENT_ROLE();+----------------+| CURRENT_ROLE() |+----------------+| NONE |+----------------+1 row in set (0.59 sec)

什么情況?貌似和我們想象不同,賦予用戶某個角色權限后,該用戶并沒有獲得相應權限。

出現上述情況的原因是,在用戶會話中,授予該用戶的角色處于非活動狀態。只有授予的角色在會話中處于活動狀態時,該用戶才擁有此角色的權限,要確定當前會話中哪些角色處于活動狀態,可以使用 CURRENT_ROLE() 函數。

# 使用 set default role 命令激活角色mysql> SET DEFAULT ROLE ALL TO dev1;Query OK, 0 rows affected (0.77 sec)# 重新登錄 發現權限正常root@localhost ~]# mysql -udev1 -p123456mysql> select CURRENT_ROLE();+----------------+| CURRENT_ROLE() |+----------------+| `dev_role`@`%` |+----------------+1 row in set (0.57 sec)mysql> show databases;+--------------------+| Database |+--------------------+| db1|| information_schema |+--------------------+2 rows in set (1.05 sec)

除了使用 set default role 命令激活角色外,還可以修改系統變量 activate_all_roles_on_login ,該變量決定是否自動激活 role ,默認為 OFF 即不自動激活,建議將該變量改為 ON ,這樣以后賦予角色給新用戶后就不需要再手動激活了。

# 查看 activate_all_roles_on_login 變量mysql> show variables like ’activate_all_roles_on_login’;+-----------------------------+-------+| Variable_name | Value |+-----------------------------+-------+| activate_all_roles_on_login | OFF |+-----------------------------+-------+1 row in set (1.53 sec)# 啟用該變量 先動態啟用 之后可以將此參數加入my.cnf配置文件中mysql> set global activate_all_roles_on_login = on;Query OK, 0 rows affected (0.50 sec)# 之后角色就會自動激活mysql> create user ’dev2’@’%’ identified by ’123456’;Query OK, 0 rows affected (0.68 sec)mysql> grant ’dev_role’ to ’dev2’@’%’;Query OK, 0 rows affected (0.38 sec)root@localhost ~]# mysql -udev2 -p123456mysql> select CURRENT_ROLE();+----------------+| CURRENT_ROLE() |+----------------+| `dev_role`@`%` |+----------------+1 row in set (0.57 sec)mysql> show databases;+--------------------+| Database |+--------------------+| db1|| information_schema |+--------------------+2 rows in set (1.05 sec) 2. role 相關操作

上面我們介紹了創建角色及給用戶授予角色權限,關于 role 相關操作還有很多,我們接著來看下。

# 變更角色權限mysql> grant select on db2.* to ’dev_role’@’%’;Query OK, 0 rows affected (0.33 sec)# 擁有該角色的用戶 重新登錄后權限也會對應變化root@localhost ~]# mysql -udev1 -p123456mysql> show databases;+--------------------+| Database |+--------------------+| db1|| db2|| information_schema |+--------------------+3 rows in set (2.01 sec)# 回收角色權限mysql> revoke SELECT ON db2.* from ’dev_role’@’%’;Query OK, 0 rows affected (0.31 sec)# 撤銷用戶的角色mysql> revoke ’dev_role’@’%’ from ’dev1’@’%’;Query OK, 0 rows affected (0.72 sec)mysql> show grants for ’dev1’@’%’;+----------------------------------+| Grants for dev1@%|+----------------------------------+| GRANT USAGE ON *.* TO `dev1`@`%` |+----------------------------------+1 row in set (1.06 sec)# 刪除角色 (刪除角色后 對應的用戶也會失去該角色的權限)mysql> drop role dev_role;Query OK, 0 rows affected (0.89 sec)

我們還可以通過 mandatory_roles 變量來配置強制性角色。使用強制性角色,服務器會為全部的用戶戶默認賦予該角色,而不需要顯示執行授予角色。可以使用 my.cnf 文件或者使用 SET PERSIST 進行配置,例如:

# my.cnf 配置[mysqld]mandatory_roles=’dev_role’# set 更改變量SET PERSIST mandatory_roles = ’dev_role’;

需要注意的是,配置在 mandatory_roles 中的角色不能撤銷其權限,也不能刪除。

總結:

關于 role 角色相關知識,簡單總結幾點如下:

role 是一個權限的集合,可以被賦予不同權限。 開啟 activate_all_roles_on_login 變量,才可以自動激活角色。 一個用戶可以擁有多個角色,一個角色也可以授予多個用戶。 角色權限變化會應用到對應用戶。 刪除角色,則擁有此角色的用戶也會喪失此角色的權限。 可設置強制性角色,使得所有用戶都擁有此角色的權限。 角色管理和用戶管理相似,只是角色不能用于登錄數據庫。

以上就是MySQL 角色(role)功能介紹的詳細內容,更多關于MySQL 角色(role)功能的資料請關注好吧啦網其它相關文章!

標簽: MySQL 數據庫
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
播放一区二区| 国产尤物精品| 久久久五月天| 精品日产乱码久久久久久仙踪林| 久久国产尿小便嘘嘘| 国产视频网站一区二区三区| 久久精品国内一区二区三区水蜜桃| 日韩在线一区二区| 亚洲一区二区三区免费在线观看 | 精品视频一区二区三区在线观看| 亚洲2区在线| 男女男精品网站| 男女激情视频一区| 久久精品国内一区二区三区水蜜桃| 福利一区在线| 亚洲综合在线电影| 日韩不卡免费高清视频| 激情欧美日韩一区| 1000部精品久久久久久久久| 在线一区视频观看| 激情婷婷欧美| 亚洲福利免费| 日韩视频一区| 美国三级日本三级久久99 | 日韩啪啪电影网| 成人国产精品一区二区网站| 精品国产鲁一鲁****| 精品欧美日韩精品| 久久久久久久欧美精品| 久久电影一区| 亚洲神马久久| 99xxxx成人网| 亚洲18在线| 欧美亚洲福利| 精品一区二区三区视频在线播放| 日韩一区自拍| 国产一区二区中文| 日韩在线观看一区| 亚洲免费在线| 日韩精品久久理论片| 日韩在线短视频| 先锋影音久久久| 亚洲精品一区二区在线播放∴| 三级久久三级久久久| 久久久国产精品网站| 欧美激情另类| 在线日韩欧美| 91亚洲精品在看在线观看高清| 久久狠狠亚洲综合| 亚洲伦乱视频| 夜夜嗨网站十八久久| 亚洲精品大全| 国产精品第十页| 黑人精品一区| 在线亚洲观看| 欧美激情网址| 久久久久午夜电影| 91精品高清| 欧美精品三级在线| 日本精品黄色| 蜜臀国产一区二区三区在线播放| 日韩高清不卡一区| 麻豆久久一区二区| 午夜日韩在线| 久久精品超碰| 成人台湾亚洲精品一区二区| 亚洲欧美日韩一区在线观看| 先锋影音久久久| 国产精品欧美一区二区三区不卡| 色爱av综合网| 亚洲美女91| 日韩av不卡一区二区| 精品99久久| 久久香蕉精品| xxxxx性欧美特大| 欧美专区一区二区三区| 国产欧美丝祙| 免费欧美日韩| 精品亚洲精品| 性欧美长视频| 欧美日韩精品免费观看视完整| 水蜜桃久久夜色精品一区的特点| 1024精品久久久久久久久| 国产精品亚洲产品| 欧美日韩在线网站| 麻豆精品少妇| 美女日韩在线中文字幕| 美女国产一区二区三区| 亚洲影院天堂中文av色| 98精品视频| 日韩精品亚洲专区在线观看| 欧美日韩国产一区二区三区不卡 | 在线国产日韩| 99久久亚洲精品| 美国三级日本三级久久99| 国产精品久久久久久模特| 视频一区在线播放| 福利一区二区三区视频在线观看| 日韩国产在线不卡视频| 蜜臀av免费一区二区三区| 国产精品mv在线观看| 亚洲精选av| 国内精品99| 精品日产乱码久久久久久仙踪林| 日韩av影院| 在线视频精品| 天堂av在线| 国产在线观看91一区二区三区 | 欧洲av不卡| 欧美日韩一区自拍| 一区二区三区国产盗摄| 成人va天堂| 久久精品国产成人一区二区三区| 亚洲tv在线| 午夜影院欧美| 伊人久久在线| 免费看久久久| 国产欧美精品久久| 亚洲人成毛片在线播放女女| 色爱av综合网| 国产盗摄——sm在线视频| 伊人久久一区| 国产一区日韩欧美| 国产自产自拍视频在线观看| 国产精品激情| 啪啪亚洲精品| 亚洲人成亚洲精品| 免费在线看一区| 日本蜜桃在线观看视频| 日本视频一区二区| 亚洲一二av| 91久久午夜| 欧美精品一区二区久久| 亚洲不卡av不卡一区二区| 免费看av不卡| 国产精品久久久久久av公交车| 欧美日本一区| 亚洲ww精品| 国产乱子精品一区二区在线观看| 日本亚洲三级在线| 亚洲精选成人| 欧美日本三区| 国产精品亚洲欧美一级在线| 久久99高清| 精品一区二区三区的国产在线观看| 国产精品一区二区精品| 久久精品xxxxx| 国产精品黄色| 欧美xxxx中国| 午夜av不卡| 久久精品99久久无色码中文字幕| 激情综合网站| 日本高清不卡一区二区三区视频| 伊人精品一区| 尤物精品在线| 亚洲一区激情| 青青国产精品| 国产精品porn| 久久不卡日韩美女| 国产精品1区在线| 91精品国产自产观看在线 | 欧美在线日韩| 国产精品激情| 色婷婷色综合| 一区二区三区四区在线看| 999国产精品视频| 国产香蕉精品| 欧美理论视频| 波多野结衣一区| 成人福利视频| 日本 国产 欧美色综合| 亚洲国产专区| 亚洲日产国产精品| 精品色999| 红杏一区二区三区| bbw在线视频| 亚洲成av在线| 日韩精品诱惑一区?区三区| 久久精品免费一区二区三区| 日本欧美国产| 伊人久久成人| 另类亚洲自拍| 国产福利91精品一区二区| 欧美69视频| 水蜜桃久久夜色精品一区的特点| 中文字幕在线视频网站| 精品捆绑调教一区二区三区| 欧美天堂视频| 蜜桃91丨九色丨蝌蚪91桃色| 精品国产黄a∨片高清在线| 亚洲人成精品久久久| 精品国产一区二区三区av片| 欧美精品国产| 久久精品72免费观看| 136国产福利精品导航网址| 天堂中文在线播放| 三级精品视频| 国产在线不卡一区二区三区| 亚洲精品自拍| 亚洲伊人影院|