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

MySQL用戶(hù)和數(shù)據(jù)權(quán)限管理詳解

 更新時(shí)間:2022年08月25日 09:58:17   作者:遇安.112  
這篇文章主要為大家詳細(xì)介紹了MySQL數(shù)據(jù)庫(kù)管理中的用戶(hù)和數(shù)據(jù)權(quán)限管理,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)MySQL有一定幫助,需要的可以參考一下

1、管理用戶(hù)

1.1、添加用戶(hù)

可以使用CREATE USER語(yǔ)句添加一個(gè)或多個(gè)用戶(hù),并設(shè)置相應(yīng)的密碼

語(yǔ)法格式:

CREATE USER 用戶(hù)名 [IDENTIFIED BY [PASSWORD]'密碼']

CREATE USER用于創(chuàng)建新的MySQL賬戶(hù)。CREATE USER會(huì)在系統(tǒng)本身的mysql數(shù)據(jù)庫(kù)的user表中添加一個(gè)新記錄。要使用CREATE USER,必須擁有mysql數(shù)據(jù)庫(kù)的全局CREATE USER權(quán)限或INSERT權(quán)限。如果賬戶(hù)已經(jīng)存在,則出現(xiàn)錯(cuò)誤(報(bào)錯(cuò))。

例:添加一個(gè)新用戶(hù)usr1,密碼為123456 

CREATE USER usr1@localhost IDENTIFIED BY'123456';

在用戶(hù)名的后面聲明了關(guān)鍵字localhost。該關(guān)鍵字指定用戶(hù)創(chuàng)建所使用的MySQL服務(wù)器來(lái)自于主機(jī)。如果一個(gè)用戶(hù)名和主機(jī)名中包含特殊符號(hào)_或通配符%,則需要用單引號(hào)將其括起,%表示一組主機(jī)。

1.2、刪除用戶(hù)

語(yǔ)法格式:

DROP USER 用戶(hù)名

要使用該語(yǔ)句,必須有mysql數(shù)據(jù)庫(kù)的全局CREATE USER權(quán)限或DELETE權(quán)限。DROP USER語(yǔ)句用于刪除一個(gè)或多個(gè)MySQL賬戶(hù),并取消其權(quán)限。

例:刪除用戶(hù)usr1 

DROP USER usr1@localhost;

1.3、修改用戶(hù)名

語(yǔ)法格式:

RENAME USER 舊用戶(hù)名 TO 新用戶(hù)名

要使用該語(yǔ)句,必須有全局CREATE USER權(quán)限或mysql數(shù)據(jù)庫(kù)的UPDATE權(quán)限。如果舊賬戶(hù)不存在或者新賬戶(hù)已存在,則會(huì)出現(xiàn)錯(cuò)誤(報(bào)錯(cuò))。該語(yǔ)句用于對(duì)原有MySQL賬戶(hù)進(jìn)行重命名,可以一次對(duì)多個(gè)用戶(hù)更名。

例:將用戶(hù)usr1和usr2的名字分別修改為user1和user2 

RENAME USER
usr1@localhost TO user1@localhost,
usr2@localhost TO user2@localhost;

1.4、修改密碼

語(yǔ)法格式:

SET PASSWORD [ FOR 用戶(hù)名 ]=PASSWORD('新密碼')

如果不加FOR用戶(hù)名,表示修改當(dāng)前用戶(hù)的密碼。加了FOR用戶(hù)名則是修改當(dāng)前主機(jī)上的特定用戶(hù)的密碼。用戶(hù)名的值必須以u(píng)ser_name@host_name的格式給定。

例:將用戶(hù)user1的密碼修改為king 

SET PASSWORD FOR user1@localhost=PASSWORD('king');

2、授予權(quán)限和回收權(quán)限

2.1、授予權(quán)限

新的SQL用戶(hù)不允許訪(fǎng)問(wèn)屬于其他SQL用戶(hù)的表,也不能立即創(chuàng)建自己的表,它必須被授權(quán),可以授予的權(quán)限有以下幾組:

1、列權(quán)限:和表中的一個(gè)具體列相關(guān)。例如,使用UPDATE語(yǔ)句更新表Book書(shū)號(hào)列值的權(quán)限。

2、表權(quán)限:和一個(gè)具體表中的所有數(shù)據(jù)相關(guān)。例如,使用SELECT語(yǔ)句查詢(xún)表Book所有數(shù)據(jù)的權(quán)限。

3、數(shù)據(jù)庫(kù)權(quán)限:和一個(gè)具體的數(shù)據(jù)庫(kù)中所有表相關(guān)。例如,在已有的Bookstore數(shù)據(jù)庫(kù)中創(chuàng)建新表的權(quán)限。

4、用戶(hù)權(quán)限:和MySQL所有的數(shù)據(jù)庫(kù)相關(guān)。例如,刪除已有的數(shù)據(jù)庫(kù)或者創(chuàng)建一個(gè)新數(shù)據(jù)庫(kù)的權(quán)限。

給某用戶(hù)授予權(quán)限可以使用GRANT語(yǔ)句。使用SHOW GRANTS語(yǔ)句可以查看當(dāng)前賬戶(hù)擁有的權(quán)限。

語(yǔ)法格式:

GRANT 權(quán)限1[(列名列表1)][,權(quán)限2[(列名列表2)]...
ON [目標(biāo)]{表名 | * | *.* | 庫(kù)名.*}
TO 用戶(hù)1 [IDENTIFIED BY [PASSWORD]'密碼1']
[,用戶(hù)2 [IDENTIFIED BY [PASSWORD]'密碼2']]...
[WITH 權(quán)限限制1[權(quán)限限制2]...]

2.1.1、授予表權(quán)限

授予表權(quán)限時(shí),權(quán)限可以是以下值:

1、SELECT:授予用戶(hù)使用SELECT語(yǔ)句訪(fǎng)問(wèn)特定表(或視圖)的權(quán)力。對(duì)于視圖,用戶(hù)必須對(duì)視圖中指定的每個(gè)表(或視圖)都有SELECT權(quán)限。

2、INSERT:授予用戶(hù)使用INSERT語(yǔ)句向一個(gè)特定表中添加行的權(quán)力

3、DELETE:授予用戶(hù)使用DELETE語(yǔ)句向一個(gè)特定表中刪除行的權(quán)力

4、UPDATE:授予用戶(hù)使用UPDATE語(yǔ)句修改特定表中值的權(quán)力

5、REFERENCES:授予用戶(hù)創(chuàng)建一個(gè)外鍵來(lái)參照特定的表的權(quán)力

6、CREATE:授予用戶(hù)使用特定的名字創(chuàng)建一個(gè)表的權(quán)力

7、ALTER:授予用戶(hù)使用ALTER TABLE語(yǔ)句修改表的權(quán)力

8、INDEX:授予用戶(hù)在表上定義索引的權(quán)力

9、DROP:授予用戶(hù)刪除表的權(quán)力

10、ALL或ALL PRIVILEGES:表示所有權(quán)限

在授予表權(quán)限時(shí),ON關(guān)鍵字后面跟表名,指定授予權(quán)限的為表名或視圖名

例:授予用戶(hù)user1在Book表上的SELECT權(quán)限 

USE Bookstore;
GRANT SELECT
ON Book
TO user1@localhost;

這里假設(shè)是在root用戶(hù)輸入了這些語(yǔ)句,這樣用戶(hù)user1就可以使用SELECT語(yǔ)句來(lái)查詢(xún)Book表,而不管是誰(shuí)創(chuàng)建了該表。

若在TO子句中給存在的用戶(hù)指定密碼,則新密碼將原密碼覆蓋。如果權(quán)限授予了一個(gè)不存在的用戶(hù),MySQL會(huì)自動(dòng)執(zhí)行一條CREATE USER語(yǔ)句來(lái)創(chuàng)建這個(gè)用戶(hù),但必須為該用戶(hù)指定密碼。

例:用戶(hù)liu和zhang不存在,授予他們?cè)贐ook表上的SELECT和UPDATE權(quán)限 

GRANT SELECT,UPDATE
ON Book
TO liu@localhost IDENTIFIED BY'123456',
zhang@localhost IDENTIFIED BY'123';

2.1.2、授予列權(quán)限

對(duì)于列權(quán)限,權(quán)限的值只能取SELECT、INSERT和UPDATE。權(quán)限的后面需要加上列名列表。

例:授予user1在Book表上的圖書(shū)編號(hào)列和書(shū)名列的UPDATE權(quán)限。

GRANT UPDATE(圖書(shū)編號(hào),書(shū)名)
ON Book
TO user1@localhost;

2.1.3、授予數(shù)據(jù)庫(kù)權(quán)限

表權(quán)限適用于一個(gè)特定的表,MySQL還支持針對(duì)整個(gè)數(shù)據(jù)庫(kù)的權(quán)限。授予數(shù)據(jù)庫(kù)權(quán)限時(shí),權(quán)限可以是以下值:

1、SELECT:授予用戶(hù)使用SELECT語(yǔ)句訪(fǎng)問(wèn)特定數(shù)據(jù)庫(kù)中所有表和視圖的權(quán)力

2、INSERT:授予用戶(hù)使用INSERT語(yǔ)句向特定數(shù)據(jù)庫(kù)所有表中添加行的權(quán)力

3、DELETE:授予用戶(hù)使用DELETE語(yǔ)句在特定數(shù)據(jù)庫(kù)所有表中刪除行的權(quán)力

4、UPDATE:授予用戶(hù)使用UPDATE語(yǔ)句更新特定數(shù)據(jù)庫(kù)所有表中值的權(quán)力

5、REFERENCES:授予用戶(hù)創(chuàng)建指向特定數(shù)據(jù)庫(kù)中的表外鍵的權(quán)力

6、CREATE:授予用戶(hù)使用CREATE TABLE語(yǔ)句在特定數(shù)據(jù)庫(kù)中創(chuàng)建新表的權(quán)力

7、ALTER:授予用戶(hù)使用ALTER TABLE語(yǔ)句修改特定數(shù)據(jù)庫(kù)中所有表的結(jié)構(gòu)的權(quán)力

8、INDEX:授予用戶(hù)在特定數(shù)據(jù)庫(kù)中的所有表上定義和刪除索引的權(quán)力

9、DROP:授予用戶(hù)刪除特定數(shù)據(jù)庫(kù)中所有表和視圖的權(quán)力

10、CREATE TEMPORARY TABLES:授予用戶(hù)在特定數(shù)據(jù)庫(kù)中創(chuàng)建臨時(shí)表的權(quán)力

11、CREATE VIEW:授予用戶(hù)在特定數(shù)據(jù)庫(kù)中創(chuàng)建新視圖的權(quán)力

12、SHOW VIEW:授予用戶(hù)查看特定數(shù)據(jù)庫(kù)中已有視圖的視圖定義的權(quán)力

13、CREATE ROUTINE:授予用戶(hù)為特定數(shù)據(jù)庫(kù)創(chuàng)建存儲(chǔ)過(guò)程和存儲(chǔ)函數(shù)的權(quán)力

14、ALTER ROUTINE:授予用戶(hù)更新和刪除數(shù)據(jù)庫(kù)中已有存儲(chǔ)過(guò)程和存儲(chǔ)函數(shù)的權(quán)力

15、EXECUTE ROUTINE:授予用戶(hù)調(diào)用特定數(shù)據(jù)庫(kù)的存儲(chǔ)過(guò)程和存儲(chǔ)函數(shù)的權(quán)力

16、LOOK TABLES:授予用戶(hù)鎖定特定數(shù)據(jù)庫(kù)中已有表的權(quán)力

17、ALL或ALL PRIVILEGES:表示以上所有權(quán)限

在GRANT語(yǔ)法格式中,授予數(shù)據(jù)庫(kù)權(quán)限時(shí)ON關(guān)鍵字后面跟*和“庫(kù)名.*”。*表示當(dāng)前數(shù)據(jù)庫(kù)中的所有表。“庫(kù)名.*”表示某個(gè)數(shù)據(jù)庫(kù)中的所有表。

例:授予user1在Bookstore數(shù)據(jù)庫(kù)中所有表的SELECT權(quán)限 

GRANT SELECT
ON Bookstore.*
TO user1@localhost;

2.1.4、授予用戶(hù)權(quán)限

最有效率的權(quán)限就是用戶(hù)權(quán)限,可以將授予數(shù)據(jù)庫(kù)的權(quán)限直接授予用戶(hù),使用戶(hù)獲得對(duì)服務(wù)器上所有數(shù)據(jù)庫(kù)的該權(quán)限。

MySQL授予用戶(hù)權(quán)限時(shí)權(quán)限還可以是以下值:

1、CREATE USER:授予用戶(hù)創(chuàng)建和刪除新用戶(hù)的權(quán)限

2、SHOW DATABASES:授予用戶(hù)使用SHOW DATABASES語(yǔ)句查看所有已有數(shù)據(jù)庫(kù)的定義的權(quán)力

在GRANT語(yǔ)法格式中,授予用戶(hù)權(quán)限時(shí)ON子句中使用“*.*”,表示所有數(shù)據(jù)庫(kù)的所有表

例:授予user2對(duì)所有數(shù)據(jù)庫(kù)中所有表的CREATE、ALTERT和DROP權(quán)限 

GRANT CREATE,ALTER,DROP
ON *.*
TO user2@localhost IDENTIFIED BY'123456';

例:授予user2創(chuàng)建新用戶(hù)的權(quán)限

GRANT CREATE USER
ON *.*
TO user2@localhost;

2.2、權(quán)限的轉(zhuǎn)移和限制

GRANT語(yǔ)句的最后可以使用WITH子句。如果指定權(quán)限限制為GRANT OPTION,則表示TO子句中指定的所有用戶(hù)都有把自己所擁有的權(quán)限授予其他用戶(hù)的權(quán)力,而不管其他用戶(hù)是否擁有該權(quán)限。

 例:授予user3在Book表上的SELECT權(quán)限,并允許其將該權(quán)限授予其他用戶(hù)

GRANT SELECT
ON Bookstore.Book
TO user3@localhost IDENTIFIED BY'123456'
WITH GRANT OPTION;

使用了WITH GRANT OPTION子句后,如果user3在該表上還擁有其他權(quán)限,他可以將其他權(quán)限也授予其他用戶(hù)而不僅限于SELECT。

WITH子句后的權(quán)限限制也可以對(duì)一個(gè)用戶(hù)授予使用限制,其中,MAX_QUERIES_PER_HOUR次數(shù)表示每小時(shí)可以查詢(xún)數(shù)據(jù)庫(kù)的次數(shù)。

MAX_CONNECTIONS_PER_HOUR次數(shù)表示每小時(shí)可以連接數(shù)據(jù)庫(kù)的次數(shù)。

MAX_UPDATES_PES_HOUR次數(shù)表示每小時(shí)可以修改數(shù)據(jù)庫(kù)的次數(shù)。

MAX_USER_CONNECTIONS次數(shù)表示同時(shí)連接MySQL的最大用戶(hù)數(shù)。

次數(shù)是一個(gè)數(shù)值,對(duì)于前3個(gè)權(quán)限限制指定,次數(shù)如果為0則表示不起限制作用。

例:授予D每小時(shí)只能處理一條SELECT語(yǔ)句的權(quán)限 

GRANT SELECT
ON Book
TO D@localhost
WITH MAX_QUERIES_PER_HOUR 1;

2.3、回收權(quán)限

要從一個(gè)用戶(hù)回收權(quán)限,但不從mysql數(shù)據(jù)庫(kù)的user表中刪除該用戶(hù),可以使用REVOKE語(yǔ)句,該語(yǔ)句和GRANT語(yǔ)句格式相似,但具有相反的效果。要使用REVOKE語(yǔ)句,用戶(hù)必須擁有mysql數(shù)據(jù)庫(kù)的全局CREATE USER權(quán)限或UPDATE權(quán)限。

語(yǔ)法格式:

REVOKE 權(quán)限[(列名列表)]...
ON {表名 | * | *.* | 庫(kù)名.* }
FROM 用戶(hù)...  

REVOKE ALL PRIVILEGES,GRANT OPTION FROM 用戶(hù)

第一種格式用來(lái)回收用戶(hù)的某些特定權(quán)限,第二種格式回收用戶(hù)的所有權(quán)限

例:回收用戶(hù)user在Book表上的SELECT權(quán)限

REVOKE SELECT
ON Book
FROM user@localhost;

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

相關(guān)文章

  • MySQL數(shù)據(jù)庫(kù)主從復(fù)制與讀寫(xiě)分離

    MySQL數(shù)據(jù)庫(kù)主從復(fù)制與讀寫(xiě)分離

    大家好,本篇文章主要講的是MySQL數(shù)據(jù)庫(kù)主從復(fù)制與讀寫(xiě)分離,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話(huà)記得收藏一下,方便下次瀏覽
    2021-12-12
  • MySQL數(shù)據(jù)庫(kù)列的增刪改實(shí)現(xiàn)方法

    MySQL數(shù)據(jù)庫(kù)列的增刪改實(shí)現(xiàn)方法

    這篇文章主要介紹了MySQL數(shù)據(jù)庫(kù)列的增刪改實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了mysql數(shù)據(jù)庫(kù)針對(duì)列的增加、修改、刪除等相關(guān)操作sql命令及使用技巧,需要的朋友可以參考下
    2019-03-03
  • Mysql鎖之共享鎖(讀鎖)和排他鎖(寫(xiě)鎖)詳解

    Mysql鎖之共享鎖(讀鎖)和排他鎖(寫(xiě)鎖)詳解

    這篇文章主要介紹了Mysql鎖之共享鎖(讀鎖)和排他鎖(寫(xiě)鎖),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • MySQL ddl語(yǔ)句的使用

    MySQL ddl語(yǔ)句的使用

    這篇文章主要介紹了MySQL ddl語(yǔ)句的使用,幫助大家更好的理解和使用MySQL,感興趣的朋友可以了解下
    2020-11-11
  • mysql學(xué)習(xí)筆記之基礎(chǔ)知識(shí)

    mysql學(xué)習(xí)筆記之基礎(chǔ)知識(shí)

    本文是MySQL學(xué)習(xí)筆記系列文章的第一篇,給大家簡(jiǎn)單講解下MySQL的一些檢查操作命令,希望大家能夠喜歡
    2017-02-02
  • 從ibd文件恢復(fù)MySQL數(shù)據(jù)的操作步驟及常見(jiàn)錯(cuò)誤

    從ibd文件恢復(fù)MySQL數(shù)據(jù)的操作步驟及常見(jiàn)錯(cuò)誤

    MySQL數(shù)據(jù)恢復(fù)是數(shù)據(jù)庫(kù)管理中的一項(xiàng)重要任務(wù),尤其是在遭遇意外數(shù)據(jù)丟失、硬件故障或軟件錯(cuò)誤時(shí),下面這篇文章主要給大家介紹了關(guān)于從ibd文件恢復(fù)MySQL數(shù)據(jù)的操作步驟及常見(jiàn)錯(cuò)誤,需要的朋友可以參考下
    2024-08-08
  • win2008下mysql8.0.11升級(jí)mysql8.0.17版本詳細(xì)步驟

    win2008下mysql8.0.11升級(jí)mysql8.0.17版本詳細(xì)步驟

    這篇文章主要為大家詳細(xì)介紹了win2008下mysql8.0.11升級(jí)mysql8.0.17版本詳細(xì)步驟,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • Mysql系統(tǒng)變量與狀態(tài)變量詳細(xì)介紹

    Mysql系統(tǒng)變量與狀態(tài)變量詳細(xì)介紹

    這篇文章主要介紹了Mysql系統(tǒng)變量與狀態(tài)變量詳細(xì)介紹,能夠在程序運(yùn)行過(guò)程中影響Mysql程序行為的變量稱(chēng)之為系統(tǒng)變量,想了解更多相關(guān)內(nèi)容的小伙伴可以參考下面文章內(nèi)容
    2022-09-09
  • 詳解mysql三值邏輯與NULL

    詳解mysql三值邏輯與NULL

    這篇文章主要介紹了mysql三值邏輯和NULL,感興趣的同學(xué)們,可以參考下,并且把代碼實(shí)驗(yàn)一下
    2021-05-05
  • MySQL數(shù)據(jù)庫(kù)遷移到Oracle數(shù)據(jù)庫(kù)的完整步驟記錄

    MySQL數(shù)據(jù)庫(kù)遷移到Oracle數(shù)據(jù)庫(kù)的完整步驟記錄

    在研發(fā)過(guò)程中可能會(huì)用到將表數(shù)據(jù)庫(kù)中的表結(jié)構(gòu)及數(shù)據(jù)遷移到另外一種數(shù)據(jù)庫(kù)中,比如說(shuō)從mysql中遷移到oracle中,這篇文章主要給大家介紹了關(guān)于MySQL數(shù)據(jù)庫(kù)遷移到Oracle數(shù)據(jù)庫(kù)的完整步驟,需要的朋友可以參考下
    2024-06-06

最新評(píng)論

揭阳市| 夏邑县| 淅川县| 闻喜县| 南华县| 井研县| 固镇县| 凤城市| 高阳县| 巧家县| 象州县| 万载县| 五河县| 绥江县| 绥宁县| 福安市| 博野县| 营山县| 手游| 昌吉市| 罗江县| 宜阳县| 阿坝| 手游| 龙海市| 顺平县| 泗阳县| 体育| 突泉县| 宜章县| 崇文区| 梨树县| 祁阳县| 新津县| 斗六市| 泰顺县| 逊克县| 南雄市| 石门县| 巫山县| 巴中市|