MySQL 權(quán)限表db、tables_priv、columns_priv和procs_priv的具體使用
db表
db 表比較常用,是 MySQL 數(shù)據(jù)庫中非常重要的權(quán)限表,表中存儲了用戶對某個數(shù)據(jù)庫的操作權(quán)限。表中的字段大致可以分為兩類,分別是用戶列和權(quán)限列。
用戶列
db 表用戶列有 3 個字段,分別是 Host、User、Db,標(biāo)識從某個主機(jī)連接某個用戶對某個數(shù)據(jù)庫的操作權(quán)限,這 3 個字段的組合構(gòu)成了 db 表的主鍵。
db 表的用戶列如下表所示:
字段名 | 字段類型 | 是否為空 | 默認(rèn)值 | 說明 |
---|---|---|---|---|
Host | char(60) | NO | 無 | 主機(jī)名 |
Db | char(64) | NO | 無 | 數(shù)據(jù)庫名 |
User | char(32) | NO | 無 | 用戶名 |
權(quán)限列
db 表中的權(quán)限列和 user 表中的權(quán)限列大致相同,只是user 表中的權(quán)限是針對所有數(shù)據(jù)庫的,而 db 表中的權(quán)限只針對指定的數(shù)據(jù)庫。如果希望用戶只對某個數(shù)據(jù)庫有操作權(quán)限,可以先將 user 表中對應(yīng)的權(quán)限設(shè)置為 N,然后在 db 表中設(shè)置對應(yīng)數(shù)據(jù)庫的操作權(quán)限。
tables_priv表和columns_priv表
tables_priv 表用來對單個表進(jìn)行權(quán)限設(shè)置,columns_priv 表用來對單個數(shù)據(jù)列進(jìn)行權(quán)限設(shè)置。tables_priv 表結(jié)構(gòu)如下表所示:
字段名 | 字段類型 | 是否為空 | 默認(rèn)值 | 說明 |
---|---|---|---|---|
Host | char(60) | NO | 無 | 主機(jī) |
Db | char(64) | NO | 無 | 數(shù)據(jù)庫名 |
User | char(32) | NO | 無 | 用戶名 |
Table_name | char(64) | NO | 無 | 表名 |
Grantor | char(93) | NO | 無 | 修改該記錄的用戶 |
Timestamp | timestamp | NO | CURRENT_TIMESTAMP | 修改該記錄的時間 |
Table_priv | set('Select','Insert','Update','Delete',' Create','Drop','Grant','References', 'Index','Alter','Create View','Show view','Trigger') | NO | 無 | 表示對表的操作權(quán)限,包括 Select、Insert、Update、Delete、Create、Drop、Grant、References、Index 和 Alter 等 |
Column_priv | set('Select','Insert','Update','References') | NO | 無 | 表示對表中的列的操作權(quán)限,包括 Select、Insert、Update 和 References |
columns_priv 表結(jié)構(gòu)如下表所示:
字段名 | 字段類型 | 是否為空 | 默認(rèn)值 | 說明 |
---|---|---|---|---|
Host | char(60) | NO | 無 | 主機(jī) |
Db | char(64) | NO | 無 | 數(shù)據(jù)庫名 |
User | char(32) | NO | 無 | 用戶名 |
Table_name | char(64) | NO | 無 | 表名 |
Column_name | char(64) | NO | 無 | 數(shù)據(jù)列名稱,用來指定對哪些數(shù)據(jù)列具有操作權(quán)限 |
Timestamp | timestamp | NO | CURRENT_TIMESTAMP | 修改該記錄的時間 |
Column_priv | set('Select','Insert','Update','References') | NO | 無 | 表示對表中的列的操作權(quán)限,包括 Select、Insert、Update 和 References |
procs_priv表
procs_priv 表可以對存儲過程和存儲函數(shù)進(jìn)行權(quán)限設(shè)置,procs_priv 的表結(jié)構(gòu)如表所示:
字段名 | 字段類型 | 是否為空 | 默認(rèn)值 | 說明 |
---|---|---|---|---|
Host | char(60) | NO | 無 | 主機(jī)名 |
Db | char(64) | NO | 無 | 數(shù)據(jù)庫名 |
User | char(32) | NO | 無 | 用戶名 |
Routine_name | char(64) | NO | 無 | 表示存儲過程或函數(shù)的名稱 |
Routine_type | enum('FUNCTION','PROCEDURE') | NO | 無 | 表示存儲過程或函數(shù)的類型,Routine_type 字段有兩個值,分別是 FUNCTION 和 PROCEDURE。FUNCTION 表示這是一個函數(shù);PROCEDURE 表示這是一個 存儲過程。 |
Grantor | char(93) | NO | 無 | 插入或修改該記錄的用戶 |
Proc_priv | set('Execute','Alter Routine','Grant') | NO | 無 | 表示擁有的權(quán)限,包括 Execute、Alter Routine、Grant 3種 |
Timestamp | timestamp | NO | CURRENT_TIMESTAMP | 表示記錄更新時間 |
到此這篇關(guān)于MySQL 權(quán)限表db、tables_priv、columns_priv和procs_priv的具體使用的文章就介紹到這了,更多相關(guān)MySQL 權(quán)限表 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
mysql8如何設(shè)置不區(qū)分大小寫ubuntu20
這篇文章主要介紹了mysql8如何設(shè)置不區(qū)分大小寫ubuntu20問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-05-05與MSSQL對比學(xué)習(xí)MYSQL的心得(一)--基本語法
最開始接觸的數(shù)據(jù)庫為MSSQL,不過最近項目需求,仔細(xì)學(xué)習(xí)了下MYSQL,下面就對比MSSQL,把MYSQL的學(xué)習(xí)心得分享給大家2014-06-06mysql left join快速轉(zhuǎn)inner join的過程
inner join內(nèi)連接,顯示兩個表中有聯(lián)系的所有數(shù)據(jù)而left join,左鏈接,以左表為參照,顯示所有數(shù)據(jù),右表中沒有則以null顯示,本文重點給大家講解mysql left join快速轉(zhuǎn)inner join的過程,需要的朋友參考下吧2021-06-06mysql5.7.13 環(huán)境搭建教程(解壓縮版)
這篇文章主要為大家詳細(xì)介紹了mysql解壓縮版環(huán)境搭建教程,具有一定的實用性,感興趣的小伙伴們可以參考一下2016-07-07