欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

一、MySQL用戶登錄

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

二、用戶管理

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

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

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

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

三、權(quán)限控制

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

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

注意多個權(quán)限之間用逗號隔開,*號通配符表示所有。

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

四、角色管理

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

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

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

select current_role();

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

激活角色語句:

set default all to + 用戶名

后面使用查看激活語句就會變成:

哦對,該激活角色的方法并不是永久激活。永久激活的方法我并不喜歡用,因為我怕以后會把這個知識給忘了(其實就是菜)

繼續(xù)說例子:

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

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

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

revoke r1 from 's1';

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

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

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

相關(guān)文章

  • 安裝Mysql時可能會遇到的一些疑難雜癥

    安裝Mysql時可能會遇到的一些疑難雜癥

    這篇文章主要給大家介紹了關(guān)于安裝Mysql時可能會遇到的一些疑難雜癥,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • MySQL函數(shù)Locate的使用詳解

    MySQL函數(shù)Locate的使用詳解

    本文主要介紹了MySQL函數(shù)Locate的使用詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • 修改MySQL所有表的編碼或修改某個字段的編碼步驟詳解

    修改MySQL所有表的編碼或修改某個字段的編碼步驟詳解

    這篇文章主要給大家介紹了關(guān)于修改MySQL所有表的編碼或修改某個字段編碼的相關(guān)資料,在進行數(shù)據(jù)庫編碼更改之前,需要先確定目標(biāo)編碼格式,常見的編碼格式有UTF-8、GBK等,需要的朋友可以參考下
    2023-12-12
  • 阿里云Centos 7.5安裝Mysql的教程

    阿里云Centos 7.5安裝Mysql的教程

    這篇文章主要介紹了阿里云Centos 7.5安裝Mysql的教程,需要的朋友可以參考下
    2017-07-07
  • VMWare linux mysql 5.7.13安裝配置教程

    VMWare linux mysql 5.7.13安裝配置教程

    這篇文章主要為大家詳細(xì)介紹了VMWare linux mysql 5.7.13安裝配置教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • Mysql中Cast()函數(shù)的用法案例詳解

    Mysql中Cast()函數(shù)的用法案例詳解

    CAST 函數(shù)是 SQL 中的一種類型轉(zhuǎn)換函數(shù),它用于將一個數(shù)據(jù)類型轉(zhuǎn)換為另一個數(shù)據(jù)類型,這篇文章主要介紹了Mysql中Cast()函數(shù)的用法,需要的朋友可以參考下
    2023-05-05
  • Mysql中json類型數(shù)據(jù)查詢的實現(xiàn)

    Mysql中json類型數(shù)據(jù)查詢的實現(xiàn)

    MySQL5.7開始支持JSON格式的數(shù)據(jù)類型,可以存儲和處理JSON類型的數(shù)據(jù),本文主要介紹一些關(guān)于json數(shù)據(jù)類型的查詢操作,具有一定的參考價值,感興趣的可以了解一下
    2023-10-10
  • MySQL簡單了解“order by”是怎么工作的

    MySQL簡單了解“order by”是怎么工作的

    在MySQl中ORDER BY 語句用于對結(jié)果集進行排序,那么它是怎么工作的,以及如何優(yōu)化,下面由小編跟大家講一講
    2019-05-05
  • Mysql 相鄰兩行記錄某列的差值方法

    Mysql 相鄰兩行記錄某列的差值方法

    今天小編就為大家分享一篇Mysql 相鄰兩行記錄某列的差值方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • mysql啟用skip-name-resolve模式時出現(xiàn)Warning的處理辦法

    mysql啟用skip-name-resolve模式時出現(xiàn)Warning的處理辦法

    在優(yōu)化MYSQL配置時,加入 skip-name-resolve ,在重新啟動MYSQL時檢查啟動日志,發(fā)現(xiàn)有警告信息
    2012-07-07

最新評論