校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > MySQL 角色(role)功能介紹

MySQL 角色(role)功能介紹

熱門標簽:催天下外呼系統 大豐地圖標注app 400電話辦理服務價格最實惠 呂梁外呼系統 武漢電銷機器人電話 南太平洋地圖標注 北京金倫外呼系統 html地圖標注并導航 400電話變更申請

前言:

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

  1. role 簡介

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

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

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

# 創建role
mysql> 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 -p123456

mysql> 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 -p123456

mysql> 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 -p123456

mysql> 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 -p123456

mysql> 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 8.0用戶和角色管理原理與用法詳解
  • 詳解MySQL8的新特性ROLE

標簽:龍巖 無錫 自貢 迪慶 南充 西寧 麗水 徐州

巨人網絡通訊聲明:本文標題《MySQL 角色(role)功能介紹》,本文關鍵詞  MySQL,角色,role,功能,介紹,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《MySQL 角色(role)功能介紹》相關的同類信息!
  • 本頁收集關于MySQL 角色(role)功能介紹的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    亚洲日本韩国一区| 国产成人亚洲综合a∨婷婷| 久久精品视频在线看| 欧美日韩国产小视频在线观看| 视频在线在亚洲| 亚洲成人7777| 午夜亚洲福利老司机| 亚洲国产成人porn| 日韩国产高清在线| 美国十次综合导航| 国产成人精品免费在线| 成人精品免费视频| 欧美专区日韩专区| 欧美一卡2卡三卡4卡5免费| 色综合久久久久久久久| 欧美天堂一区二区三区| 日韩一区二区三区观看| 国产精品私人自拍| 亚洲一区二区视频在线| 亚洲制服丝袜一区| 国产福利一区二区三区视频| 99re66热这里只有精品3直播 | 成人综合婷婷国产精品久久免费| zzijzzij亚洲日本少妇熟睡| 欧美日韩国产综合久久| 久久精品欧美日韩精品| 亚洲图片一区二区| 91免费国产在线观看| 亚洲精品一区二区三区影院| 中文字幕制服丝袜成人av| 日韩高清欧美激情| 欧美日韩国产在线观看| 国产精品久久午夜夜伦鲁鲁| 麻豆精品久久久| 日韩一级二级三级精品视频| 夜夜嗨av一区二区三区四季av| 国产成人欧美日韩在线电影| 91精品国产入口| 婷婷开心久久网| 欧美喷潮久久久xxxxx| 亚洲欧美激情一区二区| 色综合av在线| 亚洲成人tv网| 日韩一区二区三区免费观看| 亚洲一区二区三区视频在线| 91高清视频免费看| 亚洲尤物在线视频观看| 日本韩国视频一区二区| 午夜精品视频一区| 日韩精品一区二区三区中文不卡| 日韩成人免费电影| 久久精品一区二区三区不卡牛牛 | 欧美肥大bbwbbw高潮| 美女一区二区久久| 男人的j进女人的j一区| 国产精品白丝jk白祙喷水网站| 精品免费国产二区三区| 99久久国产综合精品女不卡| 亚洲第一会所有码转帖| 久久免费电影网| 在线精品视频免费播放| 国产一区二区三区日韩 | 捆绑紧缚一区二区三区视频| 久久久久久久久99精品| 欧美性生交片4| 不卡的av在线| 国产精品资源在线看| 天堂影院一区二区| 亚洲一线二线三线视频| 国产三级三级三级精品8ⅰ区| 欧美日韩大陆一区二区| 在线播放日韩导航| 韩国欧美国产1区| 精品久久久久久无| 韩国视频一区二区| 精品福利av导航| 成人av在线播放网址| 国产清纯白嫩初高生在线观看91 | 秋霞午夜av一区二区三区| 久久精品免费在线观看| 欧美日本在线观看| 欧美丝袜第三区| 99免费精品在线观看| 黄色日韩网站视频| 国产美女视频一区| 久久国产视频网| 丝袜诱惑亚洲看片| 亚洲成人av电影| 日韩综合一区二区| 香蕉乱码成人久久天堂爱免费| 亚洲成人av福利| 日本91福利区| 国产精品白丝jk白祙喷水网站| 国产一区二区三区精品欧美日韩一区二区三区 | www.日韩在线| 99久久精品国产一区| av一区二区三区四区| 成人综合在线视频| av在线一区二区三区| 99久久精品国产导航| 99国产麻豆精品| 欧美日韩国产综合一区二区三区| 欧美久久久一区| 国产日产精品1区| 亚洲不卡av一区二区三区| 精品亚洲免费视频| 在线观看网站黄不卡| 欧美精品粉嫩高潮一区二区| 欧美第一区第二区| 日本一区二区三区免费乱视频| 亚洲精品日韩一| 日韩国产一二三区| av中文一区二区三区| 精品乱人伦一区二区三区| 亚洲天堂精品在线观看| 久久精品国产999大香线蕉| 丁香五精品蜜臀久久久久99网站| 色婷婷综合久久久久中文一区二区| 精品视频色一区| 亚洲嫩草精品久久| 国产69精品久久99不卡| 欧美一区二区视频在线观看2020| 国产精品久久久久桃色tv| 激情综合网最新| 欧美老肥妇做.爰bbww视频| 国产精品人人做人人爽人人添| 美女一区二区三区| 91.麻豆视频| 亚洲成人免费看| 欧美日韩免费观看一区三区| 国产精品免费视频观看| 国产91在线|亚洲| 欧美韩国日本综合| 成人网页在线观看| 国产亚洲制服色| 成人精品国产免费网站| 久久综合久久综合九色| 国产精品一区二区在线观看不卡| 日韩一区二区三区视频在线观看| 日韩福利电影在线观看| 91福利国产精品| 亚洲不卡av一区二区三区| 精品成人a区在线观看| 国产黄色精品视频| 中文字幕在线观看不卡视频| 久久黄色级2电影| 久久综合色8888| 色综合久久中文综合久久97| 伊人婷婷欧美激情| 欧美精品一区二区三| 成人app软件下载大全免费| 综合av第一页| 久久这里只有精品视频网| 成人爽a毛片一区二区免费| 亚洲一区二区三区中文字幕在线| 欧美一级电影网站| www.日韩精品| 国产精品亚洲午夜一区二区三区 | 国产精品欧美精品| 欧美一区二区不卡视频| 91亚洲永久精品| 五月天精品一区二区三区| 中文字幕乱码日本亚洲一区二区 | 国产无人区一区二区三区| 日韩视频免费观看高清在线视频| 99精品久久只有精品| 国产99精品国产| 精品一区二区免费视频| 日韩中文字幕av电影| 亚洲精品国产无天堂网2021| 欧美tickle裸体挠脚心vk| 欧美亚洲一区二区在线| caoporm超碰国产精品| 91亚洲精品乱码久久久久久蜜桃| 久久91精品久久久久久秒播| 午夜精品在线看| 日精品一区二区| 韩国成人在线视频| 日韩激情一二三区| 日韩 欧美一区二区三区| 激情综合一区二区三区| 国产一区二区三区黄视频| 国产精选一区二区三区| 国产一区二区在线观看视频| 国产精品一二三| 一本色道亚洲精品aⅴ| 欧美男生操女生| 欧美tickling网站挠脚心| 中文无字幕一区二区三区| 亚洲男帅同性gay1069| 亚洲综合在线第一页| 日日夜夜一区二区| 国产河南妇女毛片精品久久久| 国产白丝精品91爽爽久久| 色综合久久88色综合天天6| 欧美电影一区二区| 日本一区二区综合亚洲| 亚洲免费av高清| 国产成人av电影免费在线观看| 91美女蜜桃在线|