最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解MySQL8的新特性ROLE

 更新時(shí)間:2020年11月20日 09:42:00   作者:蔣樂(lè)興的技術(shù)隨筆  
這篇文章主要介紹了詳解MySQL8的新特性ROLE的相關(guān)資料,幫助大家更好的理解和使用MySQL8,感興趣的朋友可以了解下

【MySQL的ROLE解決了什么問(wèn)題】

  假設(shè)你是一個(gè)職業(yè)素養(yǎng)良好的DBA比較同時(shí)又比較注重權(quán)限管理的話;可能遇到過(guò)這樣的問(wèn)題,數(shù)據(jù)庫(kù)中有多個(gè)開(kāi)發(fā)人員的賬號(hào);有一天要建

  一個(gè)新的schema,如果你希望之前所有的賬號(hào)都能操作這個(gè)schema下的表的話,在mysql-8.0之前你要對(duì)第一個(gè)賬號(hào)都單獨(dú)的賦一次權(quán)。

  mysql-8.0.x所權(quán)限抽象了出來(lái)用ROLE來(lái)表示,當(dāng)你為ROLE增加新的權(quán)限的時(shí)候,與這個(gè)ROLE關(guān)聯(lián)的所有用戶的權(quán)限也就一并變化了;針對(duì)

  上面提到的場(chǎng)景在mysql-8.0.x下只要一條SQL就解決了。 

【機(jī)智的MySQL開(kāi)發(fā)】

  MySQL引進(jìn)ROLE用了一個(gè)非常機(jī)智的做法,既然ROLE是一堆權(quán)限的象征,這東西在MySQL里面本來(lái)就有呀!它就是USER呀。

  1): 創(chuàng)建角色

create role devgroup;

  查看mysql.user表真會(huì)被MySQL的機(jī)智給嚇到

select user,host from mysql.user;                              
+------------------+-----------+
| user       | host   |
+------------------+-----------+
| devgroup     | %     |
| backup      | 127.0.0.1 |
| mysql.sys    | localhost |
| root       | localhost |
+------------------+-----------+

  說(shuō)好的role事實(shí)上只是一個(gè)user呀!

  2): 給角色賦權(quán)

grant all on tempdb.* to devgroup;                             
Query OK, 0 rows affected (0.07 sec)

  和操作用戶比起來(lái)是一樣一樣的!

  3):創(chuàng)建用戶并把角色的權(quán)限賦給它

create user tom@'127.0.0.1' identified by '123456';                     
Query OK, 0 rows affected (0.09 sec)

grant devgroup to tom@'127.0.0.1';                             
Query OK, 0 rows affected (0.09 sec)

  4):測(cè)試剛創(chuàng)建的用戶是否可以登錄

mysql -h127.0.0.1 -P3306 -utom -p123456                     
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 16
Server version: 8.0.13 MySQL Community Server - GPL

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show grants;                                        
+-------------------------------------------+
| Grants for tom@127.0.0.1         |
+-------------------------------------------+
| GRANT USAGE ON *.* TO `tom`@`127.0.0.1`  |
| GRANT `devgroup`@`%` TO `tom`@`127.0.0.1` |
+-------------------------------------------+
2 rows in set (0.00 sec)

【角色和用戶只是一個(gè)硬幣的兩面】 

  如果你還是覺(jué)得“角色”和“用戶”是兩個(gè)不一樣的東西、那我只能是出大招了

  1): root@127.0.0.1 用戶當(dāng)成角色賦給剛才的tom用戶

grant root@'127.0.0.1' to tom@'127.0.0.1';                         
Query OK, 0 rows affected (0.04 sec)

  2):用戶tom用戶檢察一下自己的權(quán)限

show grants;
+--------------------------------------------------------------+
| Grants for tom@127.0.0.1                   |
+--------------------------------------------------------------+
| GRANT USAGE ON *.* TO `tom`@`127.0.0.1`           |
| GRANT `devgroup`@`%`,`root`@`127.0.0.1` TO `tom`@`127.0.0.1` |
+--------------------------------------------------------------+
2 rows in set (0.00 sec)

  可以看到root@127.0.0.1的權(quán)限已經(jīng)被套上去了、既然都是root用戶的權(quán)限了我們來(lái)刪除一個(gè)tempdb庫(kù)看一下吧!

  3): 刪庫(kù)

drop database tempdb;                                    
ERROR 1044 (42000): Access denied for user 'tom'@'127.0.0.1' to database 'tempdb'

  看起來(lái)沒(méi)有權(quán)限刪除這個(gè)庫(kù)呀!事實(shí)上是MySQL-8默認(rèn)并不會(huì)激活role,關(guān)于是否激活role是由activate_all_roles_on_login這個(gè)參數(shù)控制的

  4): 開(kāi)啟activate_all_roles_on_login

set @@global.activate_all_roles_on_login=1;
Query OK, 0 rows affected (0.00 sec)

   5): 重新登錄一次tom再試著刪除一下tempdb庫(kù)

mysql -h127.0.0.1 -P3306 -utom -p123456                     
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 18
Server version: 8.0.13 MySQL Community Server - GPL

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> use tempdb;
Database changed
mysql> show databases;
+--------------------+
| Database      |
+--------------------+
| information_schema |
| mysql       |
| performance_schema |
| sys        |
| tempdb       |
+--------------------+
5 rows in set (0.01 sec)

mysql> drop database tempdb;                                    
Query OK, 0 rows affected (0.09 sec)

以上就是詳解MySQL8的新特性ROLE的詳細(xì)內(nèi)容,更多關(guān)于MySQL8 新特性ROLE的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • mysql常見(jiàn)錯(cuò)誤集錦

    mysql常見(jiàn)錯(cuò)誤集錦

    由于最近一直接觸php+mysql,會(huì)遇到一些問(wèn)題,所以把這些問(wèn)題整理下
    2008-06-06
  • MySQL雙主(主主)架構(gòu)配置方案

    MySQL雙主(主主)架構(gòu)配置方案

    這篇文章主要介紹了MySQL雙主(主主)架構(gòu)配置方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • 如何用Navicat操作MySQL

    如何用Navicat操作MySQL

    這篇文章主要介紹了如何用Navicat操作MySQL,幫助大家使用可視化工具來(lái)連接 MySQL,感興趣的朋友可以了解下
    2021-05-05
  • 老生常談mysql event事件調(diào)度器(必看篇)

    老生常談mysql event事件調(diào)度器(必看篇)

    下面小編就為大家?guī)?lái)一篇老生常談mysql event事件調(diào)度器(必看篇)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-03-03
  • Navicat Premium遠(yuǎn)程連接MySQL數(shù)據(jù)庫(kù)的方法

    Navicat Premium遠(yuǎn)程連接MySQL數(shù)據(jù)庫(kù)的方法

    這篇文章主要介紹了Navicat Premium遠(yuǎn)程連接MySQL數(shù)據(jù)庫(kù)的方法,本文分步驟通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12
  • Mysql如何查詢字符串開(kāi)頭的數(shù)據(jù)

    Mysql如何查詢字符串開(kāi)頭的數(shù)據(jù)

    這篇文章主要介紹了Mysql如何查詢字符串開(kāi)頭的數(shù)據(jù)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • mysql在update,非主鍵索引更新引起死鎖問(wèn)題

    mysql在update,非主鍵索引更新引起死鎖問(wèn)題

    這篇文章主要介紹了mysql在update,非主鍵索引更新引起死鎖問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • 使用mysqld_multi實(shí)現(xiàn)單系統(tǒng)中配置多個(gè)MySQL服務(wù)器實(shí)例

    使用mysqld_multi實(shí)現(xiàn)單系統(tǒng)中配置多個(gè)MySQL服務(wù)器實(shí)例

    這篇文章主要介紹了使用mysqld_multi實(shí)現(xiàn)單系統(tǒng)中配置多個(gè)MySQL服務(wù)器實(shí)例,mysqld_multi可用于在一臺(tái)物理服務(wù)器運(yùn)行多個(gè)Mysql服務(wù),mysqld_multi是管理多個(gè)mysqld的服務(wù)進(jìn)程,這些服務(wù)進(jìn)程程序不同的unix socket或是監(jiān)聽(tīng)于不同的端口,需要的朋友可以參考下
    2014-09-09
  • MySQL中主鍵索引與聚焦索引之概念的學(xué)習(xí)教程

    MySQL中主鍵索引與聚焦索引之概念的學(xué)習(xí)教程

    這篇文章主要介紹了MySQL中的主鍵索引與聚焦索引的概念,文中也對(duì)比了兩種索引有何不同,需要的朋友可以參考下
    2015-11-11
  • Mysql數(shù)據(jù)庫(kù)分庫(kù)分表全面瓦解

    Mysql數(shù)據(jù)庫(kù)分庫(kù)分表全面瓦解

    物理服務(wù)機(jī)的CPU、內(nèi)存、存儲(chǔ)設(shè)備、連接數(shù)等資源有限,某個(gè)時(shí)段大量連接同時(shí)執(zhí)行操作,會(huì)導(dǎo)致數(shù)據(jù)庫(kù)在處理上遇到性能瓶頸。為了解決這個(gè)問(wèn)題,行業(yè)先驅(qū)門充分發(fā)揚(yáng)了分而治之的思想,對(duì)大庫(kù)表進(jìn)行分割
    2022-01-01

最新評(píng)論

牙克石市| 新和县| 乳源| 益阳市| 阳新县| 花垣县| 通州市| 海门市| 灵武市| 郯城县| 镇远县| 汉寿县| 辛集市| 宜宾县| 金沙县| 林西县| 克拉玛依市| 昌都县| 台山市| 呼玛县| 依兰县| 竹北市| 安陆市| 二连浩特市| 洞口县| 丹巴县| 吴桥县| 肇庆市| 醴陵市| 和硕县| 农安县| 隆昌县| 澜沧| 台中市| 体育| 舒城县| 玉林市| 通榆县| 汉沽区| 突泉县| 金寨县|