久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

如何理解MySQL數(shù)據(jù)庫(kù)5層權(quán)限

共計(jì) 2207 個(gè)字符,預(yù)計(jì)需要花費(fèi) 6 分鐘才能閱讀完成。

如何理解 MySQL 數(shù)據(jù)庫(kù) 5 層權(quán)限,相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。

概述

在 MySQL 中,如何查看一個(gè)用戶(hù)被授予了那些權(quán)限呢?   授予用戶(hù)的權(quán)限可能分全局層級(jí)權(quán)限、數(shù)據(jù)庫(kù)層級(jí)權(quán)限、表層級(jí)別權(quán)限、列層級(jí)別權(quán)限、子程序?qū)蛹?jí)權(quán)限。下面用實(shí)驗(yàn)來(lái)做下演示:

權(quán)限具體分類(lèi)

1、全局層級(jí)

全局權(quán)限適用于一個(gè)給定服務(wù)器中的所有數(shù)據(jù)庫(kù)。這些權(quán)限存儲(chǔ)在 mysql.user 表中。GRANT ALL ON *.* 和 REVOKE ALL ON  *.* 只授予和撤銷(xiāo)全局權(quán)限。

2、數(shù)據(jù)庫(kù)層級(jí)

數(shù)據(jù)庫(kù)權(quán)限適用于一個(gè)給定數(shù)據(jù)庫(kù)中的所有目標(biāo)。這些權(quán)限存儲(chǔ)在 mysql.db 和 mysql.host 表中。GRANT ALL ON  db_name.* 和 REVOKE ALL ON db_name.* 只授予和撤銷(xiāo)數(shù)據(jù)庫(kù)權(quán)限。

3、表層級(jí)

表權(quán)限適用于一個(gè)給定表中的所有列。這些權(quán)限存儲(chǔ)在 mysql.tables_priv 表中。GRANT ALL ON  db_name.tbl_name 和 REVOKE ALL ON db_name.tbl_name 只授予和撤銷(xiāo)表權(quán)限。

4、列層級(jí)

列權(quán)限適用于一個(gè)給定表中的單一列。這些權(quán)限存儲(chǔ)在 mysql.columns_priv 表中。當(dāng)使用 REVOKE 時(shí),您必須指定與被授權(quán)列相同的列。

5、子程序?qū)蛹?jí)

CREATE ROUTINE, ALTER ROUTINE,  EXECUTE 和 GRANT 權(quán)限適用于已存儲(chǔ)的子程序。這些權(quán)限可以被授予為全局層級(jí)和數(shù)據(jù)庫(kù)層級(jí)。而且,除了 CREATE  ROUTINE 外,這些權(quán)限可以被授予為子程序?qū)蛹?jí),并存儲(chǔ)在 mysql.procs_priv 表中。

1、全局層級(jí)測(cè)試

創(chuàng)建一個(gè)測(cè)試賬號(hào) test,授予全局層級(jí)的權(quán)限。如下所示:

mysql  set global validate_password_policy=0; mysql  grant select,insert on *.* to test@ %  identified by  test  mysql  flush privileges;

用下面兩種方式查詢(xún)授予 test 的權(quán)限。如下所示:

mysql  show grants for test; mysql  select * from mysql.user where user= test

2、數(shù)據(jù)庫(kù)層級(jí)測(cè)試

創(chuàng)建一個(gè)測(cè)試賬號(hào) test,授予數(shù)據(jù)庫(kù)層級(jí)的權(quán)限。如下所示:

mysql  drop user test; mysql  grant select,insert,update,delete on jpcpdb.* to test@ %  identified by  test@123  mysql  select * from mysql.user where user= test  -- 可以看到無(wú)任何授權(quán)。 mysql  show grants for test; mysql  select * from mysql.db where user= test

 

3、表層級(jí)測(cè)試

創(chuàng)建一個(gè)測(cè)試賬號(hào) test,授予表層級(jí)的權(quán)限。如下所示:

mysql  drop user test; mysql  flush privileges; mysql  grant all on jpcpdb.user to test@ %  identified by  test@123  mysql  show grants for test; mysql  select * from mysql.tables_privG;

4、列層級(jí)測(cè)試

創(chuàng)建一個(gè)測(cè)試賬號(hào) test,授予列層級(jí)的權(quán)限。如下所示:

mysql  drop user test; mysql  flush privileges; mysql  grant select (id, name) on jpcpdb.user to test@ %  identified by  test@123  mysql  flush privileges; mysql  select * from mysql.columns_priv; mysql  show grants for test;

5、子程序?qū)蛹?jí)測(cè)試

創(chuàng)建一個(gè)測(cè)試賬號(hào) test,授子程序?qū)蛹?jí)的權(quán)限。如下所示:

mysql  DROP PROCEDURE IF EXISTS PRC_TEST; mysql  DELIMITER // mysql  CREATE PROCEDURE PRC_TEST() -  BEGIN -  SELECT * FROM user; -  END // mysql  DELIMITER ; mysql  grant execute on procedure jpcpdb.PRC_TEST to test@ %  identified by  test@123  mysql  flush privileges; mysql  show grants for test; mysql  select * from mysql.procs_priv where User= test

如果需要查看用戶(hù)被授予的權(quán)限,就需要從這五個(gè)層級(jí)來(lái)查看被授予的權(quán)限。從上到下或從小到上,逐一檢查各個(gè)層級(jí)被授予的權(quán)限。

看完上述內(nèi)容,你們掌握如何理解 MySQL 數(shù)據(jù)庫(kù) 5 層權(quán)限的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注丸趣 TV 行業(yè)資訊頻道,感謝各位的閱讀!

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-07-19發(fā)表,共計(jì)2207字。
轉(zhuǎn)載說(shuō)明:除特殊說(shuō)明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請(qǐng)注明出處。
評(píng)論(沒(méi)有評(píng)論)
主站蜘蛛池模板: 凤山市| 汝阳县| 磐安县| 松江区| 绥德县| 恭城| 宾川县| 蒙城县| 夏津县| 白山市| 五原县| 东源县| 登封市| 唐海县| 莲花县| 丹凤县| 辉南县| 缙云县| 旺苍县| 巴马| 徐州市| 胶州市| 丹棱县| 潞西市| 平罗县| 财经| 富裕县| 绥化市| 东山县| 华安县| 诏安县| 河北省| 朔州市| 繁峙县| 新巴尔虎右旗| 汾西县| 乐业县| 新沂市| 普安县| 临海市| 锦屏县|