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

MySQL權(quán)限控制和用戶與角色管理實(shí)例分析講解

 更新時(shí)間:2022年12月01日 10:22:28   作者:菜到極致就是渣  
用戶經(jīng)認(rèn)證后成功登錄數(shù)據(jù)庫(kù),之后服務(wù)器將通過(guò)系統(tǒng)權(quán)限表檢測(cè)用戶發(fā)出的每個(gè)請(qǐng)求操作,判斷用戶是否有足夠的權(quán)限來(lái)實(shí)施該操作,這就是MySQL的權(quán)限控制過(guò)程

一、MySQL用戶登錄

一般在本機(jī)上我們的登錄命令:
mysql -u root -p+密碼
這里介紹命令的作用:
-u  指定用戶名
-h  指定主機(jī)地址(默認(rèn)為localhost)
-p  指定用戶輸入的密碼
-P  指定服務(wù)器的端口(默認(rèn)為3306)

二、用戶管理

什么是用戶管理呢?在創(chuàng)建了一個(gè)數(shù)據(jù)庫(kù)后,數(shù)據(jù)庫(kù)的管理員或者是創(chuàng)建者可以創(chuàng)建用戶并同時(shí)對(duì)該用戶做出限制(也就是用戶的權(quán)限),當(dāng)其他人想要訪問(wèn)該數(shù)據(jù)庫(kù)時(shí),可以通過(guò)使用該用戶的信息登錄數(shù)據(jù)庫(kù)。

1:查詢用戶
use mysql;
select *from user;
//nysql數(shù)據(jù)庫(kù)的user表存放的是該數(shù)據(jù)庫(kù)中的用戶信息
2:創(chuàng)建用戶
create user '用戶名'@'主機(jī)名' identified by '密碼';
//如果想選擇任意主機(jī)地址
create user '用戶名'@'%' identified by '密碼';
3:修改用戶密碼
alter user '用戶名'@'主機(jī)名' identified with mysql_native_password by '新密碼';
4:刪除用戶
drop user '用戶名'@'主機(jī)名';

你即使創(chuàng)建了一個(gè)用戶但查詢數(shù)據(jù)庫(kù)會(huì)發(fā)現(xiàn)跟之前root用戶查詢數(shù)據(jù)庫(kù)時(shí)不一樣,這時(shí)候就是關(guān)于權(quán)限了。

create user 'peter'@'%' identified by '989898';
select *from user;

三、權(quán)限控制

權(quán)限控制,概念就不多說(shuō)了,MySQL中定義了許多權(quán)限,這里我們只說(shuō)經(jīng)常使用的。

all ,all privileges    所有權(quán)限
select                 查詢數(shù)據(jù)
insert                 插入數(shù)據(jù)
update                 修改數(shù)據(jù)
delete                 刪除數(shù)據(jù)
alter                  修改表
drop                   刪除數(shù)據(jù)表/庫(kù)/視圖
create                 創(chuàng)建數(shù)據(jù)庫(kù)/表
1、查詢權(quán)限
  show grants for '用戶名'@'主機(jī)名';
2、授予權(quán)限
  grant + 權(quán)限列表(也就是權(quán)限) + on + 數(shù)據(jù)庫(kù)名或者表名+ to + '用戶名'@'主機(jī)名';
3、撤銷權(quán)限
  revoke +權(quán)限列表 + on + 數(shù)據(jù)庫(kù)名/表名 + from + '用戶名'@'主機(jī)名';

注意多個(gè)權(quán)限之間用逗號(hào)隔開(kāi),*號(hào)通配符表示所有。

use mysql;
select *from user;
create user '888'@'%' identified  by '1111';
grant all on exercise.* to '888'@'%';
show grants for '888'@'%';

四、角色管理

MySQL角色的引入有什么作用呢?與用戶的管理的語(yǔ)法相同,但它的作用卻不一樣。在MySQL中角色的引入是為了方便管理?yè)碛邢嗤瑱?quán)限的用戶,這樣子可以進(jìn)行統(tǒng)一管理。

1、角色的創(chuàng)建
  create role + 用戶名
2、 角色的授權(quán)
  創(chuàng)建完角色后是空的,沒(méi)有任何內(nèi)容這時(shí)候就需要授權(quán)了
   grant + 權(quán)限 + on + 數(shù)據(jù)庫(kù)/表名 + to + 角色
3、角色權(quán)限的收回
  revoke + 權(quán)限 + on + 數(shù)據(jù)庫(kù)/表名 + from + 角色
4、 講一個(gè)角色賦予其它角色或者是用戶
   grant + 角色1 + to + 角色2 + with admin option 
   加了with admin option 表示獲得權(quán)限的角色還可以吧這個(gè)權(quán)限再賦予別人,沒(méi)有的話就不許了

這里舉個(gè)例子感受下,不過(guò)在舉例子前有個(gè)點(diǎn)要注意一下,創(chuàng)建了角色之后默認(rèn)都是未被激活的,只有激活之后,被授予角色權(quán)限的用戶才可以得到相應(yīng)的權(quán)限。

select current_role();

顯示上面的圖片則顯示角色未被激活。

激活角色語(yǔ)句:

set default all to + 用戶名

后面使用查看激活語(yǔ)句就會(huì)變成:

哦對(duì),該激活角色的方法并不是永久激活。永久激活的方法我并不喜歡用,因?yàn)槲遗乱院髸?huì)把這個(gè)知識(shí)給忘了(其實(shí)就是菜)

繼續(xù)說(shuō)例子:

create role r1;
grant select,insert on  exercise.* to r1;
select *from user;
# 開(kāi)始創(chuàng)建角色
create user 's1'@'%';
create user 's2'@'%';
# 查看創(chuàng)建角色的權(quán)限
show grants for 's1'@'%';
# 查看r1的權(quán)限
show grants for 'r1';
# 開(kāi)始將角色的權(quán)限復(fù)制給用戶
grant r1 to s1;
# 查看賦予的用戶的權(quán)限
show grants for 's1'@'%';

使用s1用戶登錄數(shù)據(jù)庫(kù)

發(fā)現(xiàn)s1用戶并沒(méi)有update權(quán)限,至于其他的就不一一試驗(yàn)了。

revoke r1 from 's1';

收回r1角色的權(quán)限后,連查看數(shù)據(jù)庫(kù)的權(quán)限都沒(méi)有了

對(duì)于角色的總結(jié):角色總的來(lái)說(shuō)就是權(quán)限的集合,它是為了防止出現(xiàn)多個(gè)用戶需要相同的權(quán)限二=而反復(fù)操作的情況,記住角色不是用戶,你用角色當(dāng)做用戶登錄了數(shù)據(jù)庫(kù)這是不可能的,再一次強(qiáng)調(diào)角色只是一個(gè)或者是多個(gè)權(quán)限的集合。

到此這篇關(guān)于MySQL權(quán)限控制和用戶與角色管理實(shí)例分析講解的文章就介紹到這了,更多相關(guān)MySQL權(quán)限控制內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Navicat for MySQL(mysql圖形化管理工具)是什么?

    Navicat for MySQL(mysql圖形化管理工具)是什么?

    這里就給大家介紹一個(gè)常用的MySQL數(shù)據(jù)庫(kù)管理工具:Navicat for MySQL,需要的朋友可以參考下
    2015-09-09
  • MySQL數(shù)據(jù)庫(kù)的約束限制詳解

    MySQL數(shù)據(jù)庫(kù)的約束限制詳解

    這篇文章主要介紹了MySQL數(shù)據(jù)庫(kù)的約束限制詳解,數(shù)據(jù)庫(kù)的約束是對(duì)表中數(shù)據(jù)進(jìn)行的一種限制,為了保證數(shù)據(jù)的正確性、有效性、完整性,下文簡(jiǎn)單介紹需要的朋友可以參考一下
    2022-08-08
  • mysql中復(fù)制表結(jié)構(gòu)的方法小結(jié)

    mysql中復(fù)制表結(jié)構(gòu)的方法小結(jié)

    這篇文章主要介紹了mysql中復(fù)制表結(jié)構(gòu)的方法,需要的朋友可以參考下
    2014-07-07
  • Mysql中創(chuàng)建高性能索引詳解

    Mysql中創(chuàng)建高性能索引詳解

    這篇文章主要介紹了Mysql中創(chuàng)建高性能索引詳解,索引相信大家都聽(tīng)說(shuō)過(guò),但是真正會(huì)用的又有幾人,平時(shí)工作中寫SQL真的會(huì)考慮到這條SQL如何能夠用上索引,如何能夠提升執(zhí)行效率,文本就來(lái)詳細(xì)解讀如何創(chuàng)建高性能索引,需要的朋友可以參考下
    2023-07-07
  • mysql database manual(mysql數(shù)據(jù)庫(kù)手冊(cè))

    mysql database manual(mysql數(shù)據(jù)庫(kù)手冊(cè))

    mysql database manual(mysql數(shù)據(jù)庫(kù)手冊(cè)),使用mysql的朋友可以參考下。
    2011-09-09
  • MYSQL大數(shù)據(jù)導(dǎo)入

    MYSQL大數(shù)據(jù)導(dǎo)入

    MYSQL大數(shù)據(jù)導(dǎo)入...
    2006-11-11
  • Mysql二進(jìn)制安裝與備份的全過(guò)程記錄

    Mysql二進(jìn)制安裝與備份的全過(guò)程記錄

    這篇文章主要給大家介紹了關(guān)于Mysql二進(jìn)制安裝與備份的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用mysql具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2022-01-01
  • mysql數(shù)據(jù)庫(kù)的分區(qū)表示例代碼

    mysql數(shù)據(jù)庫(kù)的分區(qū)表示例代碼

    這篇文章主要介紹了mysql數(shù)據(jù)庫(kù)的分區(qū)表的相關(guān)資料,文章介紹了兩種創(chuàng)建SQL表分區(qū)的方法,分別是手動(dòng)創(chuàng)建和使用MySQL的定時(shí)事件來(lái)自動(dòng)創(chuàng)建分區(qū),手動(dòng)創(chuàng)建分區(qū)時(shí),需要在代碼中判斷分區(qū)并新增,可能會(huì)引入一些問(wèn)題,需要的朋友可以參考下
    2024-11-11
  • MySQL中檢查約束舉例詳細(xì)講解

    MySQL中檢查約束舉例詳細(xì)講解

    MySQL 檢查約束(CHECK)是用來(lái)檢查數(shù)據(jù)表中字段值有效性的一種手段,下面這篇文章主要介紹了MySQL中檢查約束的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-03-03
  • 關(guān)于MySQL innodb_autoinc_lock_mode介紹

    關(guān)于MySQL innodb_autoinc_lock_mode介紹

    下面小編就為大家?guī)?lái)一篇關(guān)于MySQL innodb_autoinc_lock_mode介紹。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-03-03

最新評(píng)論

夹江县| 阳西县| 商城县| 晴隆县| 亳州市| 环江| 于都县| 普陀区| 大兴区| 鄂托克旗| 台南县| 德昌县| 临江市| 闵行区| 通州市| 临清市| 南投市| 遵化市| 渝中区| 冕宁县| 会理县| 山丹县| 桦甸市| 大方县| 西城区| 东海县| 丰宁| 常山县| 安乡县| 武隆县| 澄江县| 临西县| 乌兰察布市| 博兴县| 托克托县| 本溪市| 宕昌县| 桃源县| 浮梁县| 新兴县| 化德县|