自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

詳解MySQL數(shù)據(jù)庫(kù)5層權(quán)限:全局、數(shù)據(jù)庫(kù)層、表層、列層、子程序?qū)?/h1>

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

概述

在MySQL中,如何查看一個(gè)用戶被授予了那些權(quán)限呢? 授予用戶的權(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)做下演示:

[[268933]]

權(quán)限具體分類

1、全局層級(jí)

全局權(quán)限適用于一個(gè)給定服務(wù)器中的所有數(shù)據(jù)庫(kù)。這些權(quán)限存儲(chǔ)在mysql.user表中。GRANT ALL ON *.*和REVOKE ALL ON *.*只授予和撤銷全局權(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.*只授予和撤銷數(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只授予和撤銷表權(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)限。如下所示:

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

詳解mysql數(shù)據(jù)庫(kù)5層權(quán)限--全局、數(shù)據(jù)庫(kù)層、表層、列層、子程序?qū)? src= 

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

  1. mysql> show grants for test; 
  2. mysql> select * from mysql.user where user='test'G; 

詳解mysql數(shù)據(jù)庫(kù)5層權(quán)限--全局、數(shù)據(jù)庫(kù)層、表層、列層、子程序?qū)? src= 

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

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

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

詳解mysql數(shù)據(jù)庫(kù)5層權(quán)限--全局、數(shù)據(jù)庫(kù)層、表層、列層、子程序?qū)? src=  

詳解mysql數(shù)據(jù)庫(kù)5層權(quán)限--全局、數(shù)據(jù)庫(kù)層、表層、列層、子程序?qū)? src=

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

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

  1. mysql> drop user test; 
  2. mysql> flush privileges
  3. mysql> grant all on jpcpdb.user to test@'%' identified by 'test@123'
  4. mysql> show grants for test; 
  5. mysql> select * from mysql.tables_privG; 

詳解mysql數(shù)據(jù)庫(kù)5層權(quán)限--全局、數(shù)據(jù)庫(kù)層、表層、列層、子程序?qū)? src= 

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

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

  1. mysql> drop user test; 
  2. mysql> flush privileges
  3. mysql> grant select (id, nameon jpcpdb.user to test@'%' identified by 'test@123'
  4. mysql> flush privileges
  5. mysql> select * from mysql.columns_priv; 
  6. mysql> show grants for test; 

詳解mysql數(shù)據(jù)庫(kù)5層權(quán)限--全局、數(shù)據(jù)庫(kù)層、表層、列層、子程序?qū)? src= 

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

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

  1. mysql> DROP PROCEDURE IF EXISTS PRC_TEST;  
  2. mysql> DELIMITER // 
  3. mysql> CREATE PROCEDURE PRC_TEST() 
  4.  -> BEGIN 
  5.  -> SELECT * FROM user
  6.  -> END // 
  7. mysql> DELIMITER ; 
  8. mysql> grant execute on procedure jpcpdb.PRC_TEST to test@'%' identified by 'test@123';  
  9. mysql> flush privileges
  10. mysql> show grants for test; 
  11. mysql> select * from mysql.procs_priv where User='test'
詳解mysql數(shù)據(jù)庫(kù)5層權(quán)限--全局、數(shù)據(jù)庫(kù)層、表層、列層、子程序?qū)? src=

總結(jié)

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

 

責(zé)任編輯:武曉燕 來(lái)源: 今日頭條
相關(guān)推薦

2018-03-28 09:26:43

數(shù)據(jù)庫(kù)緩存層優(yōu)化

2011-04-07 15:17:40

MySQL數(shù)據(jù)庫(kù)服務(wù)器

2021-11-26 07:37:14

數(shù)據(jù)庫(kù)支持網(wǎng)絡(luò)

2010-10-22 09:43:34

數(shù)據(jù)庫(kù)訪問(wèn)層

2024-12-09 10:32:25

2022-03-09 18:44:19

存儲(chǔ)MySQLserver

2019-10-23 08:46:26

物理層數(shù)據(jù)鏈路層網(wǎng)絡(luò)層

2016-11-29 15:22:47

協(xié)議應(yīng)用層安全層

2019-07-09 13:54:19

網(wǎng)絡(luò)模型網(wǎng)絡(luò)協(xié)議TCP

2019-07-16 10:42:02

網(wǎng)絡(luò)模型TCP

2024-11-27 13:01:22

應(yīng)用層領(lǐng)域?qū)?/a>對(duì)接層

2013-10-25 09:32:52

OSI七層協(xié)議TCP協(xié)議

2012-01-11 09:46:31

DAL

2022-04-24 11:01:09

架構(gòu)數(shù)據(jù)庫(kù)專車

2009-06-12 18:53:35

Django控制層Django表現(xiàn)層

2011-12-02 10:58:55

交換機(jī)

2014-10-11 17:06:07

交換機(jī)

2014-06-17 09:30:14

OSI

2012-06-07 10:22:48

架構(gòu)設(shè)計(jì)邏輯層物理層

2020-04-15 11:40:33

MySQlLServer存儲(chǔ)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)