MySQL 權(quán)限表db、tables_priv、columns_priv和procs_priv的具體使用
db表
db 表比較常用,是 MySQL 數(shù)據(jù)庫(kù)中非常重要的權(quán)限表,表中存儲(chǔ)了用戶對(duì)某個(gè)數(shù)據(jù)庫(kù)的操作權(quán)限。表中的字段大致可以分為兩類,分別是用戶列和權(quán)限列。
用戶列
db 表用戶列有 3 個(gè)字段,分別是 Host、User、Db,標(biāo)識(shí)從某個(gè)主機(jī)連接某個(gè)用戶對(duì)某個(gè)數(shù)據(jù)庫(kù)的操作權(quán)限,這 3 個(gè)字段的組合構(gòu)成了 db 表的主鍵。
db 表的用戶列如下表所示:
| 字段名 | 字段類型 | 是否為空 | 默認(rèn)值 | 說(shuō)明 |
|---|---|---|---|---|
| Host | char(60) | NO | 無(wú) | 主機(jī)名 |
| Db | char(64) | NO | 無(wú) | 數(shù)據(jù)庫(kù)名 |
| User | char(32) | NO | 無(wú) | 用戶名 |
權(quán)限列
db 表中的權(quán)限列和 user 表中的權(quán)限列大致相同,只是user 表中的權(quán)限是針對(duì)所有數(shù)據(jù)庫(kù)的,而 db 表中的權(quán)限只針對(duì)指定的數(shù)據(jù)庫(kù)。如果希望用戶只對(duì)某個(gè)數(shù)據(jù)庫(kù)有操作權(quán)限,可以先將 user 表中對(duì)應(yīng)的權(quán)限設(shè)置為 N,然后在 db 表中設(shè)置對(duì)應(yīng)數(shù)據(jù)庫(kù)的操作權(quán)限。
tables_priv表和columns_priv表
tables_priv 表用來(lái)對(duì)單個(gè)表進(jìn)行權(quán)限設(shè)置,columns_priv 表用來(lái)對(duì)單個(gè)數(shù)據(jù)列進(jìn)行權(quán)限設(shè)置。tables_priv 表結(jié)構(gòu)如下表所示:
| 字段名 | 字段類型 | 是否為空 | 默認(rèn)值 | 說(shuō)明 |
|---|---|---|---|---|
| Host | char(60) | NO | 無(wú) | 主機(jī) |
| Db | char(64) | NO | 無(wú) | 數(shù)據(jù)庫(kù)名 |
| User | char(32) | NO | 無(wú) | 用戶名 |
| Table_name | char(64) | NO | 無(wú) | 表名 |
| Grantor | char(93) | NO | 無(wú) | 修改該記錄的用戶 |
| Timestamp | timestamp | NO | CURRENT_TIMESTAMP | 修改該記錄的時(shí)間 |
| Table_priv | set('Select','Insert','Update','Delete',' Create','Drop','Grant','References', 'Index','Alter','Create View','Show view','Trigger') | NO | 無(wú) | 表示對(duì)表的操作權(quán)限,包括 Select、Insert、Update、Delete、Create、Drop、Grant、References、Index 和 Alter 等 |
| Column_priv | set('Select','Insert','Update','References') | NO | 無(wú) | 表示對(duì)表中的列的操作權(quán)限,包括 Select、Insert、Update 和 References |
columns_priv 表結(jié)構(gòu)如下表所示:
| 字段名 | 字段類型 | 是否為空 | 默認(rèn)值 | 說(shuō)明 |
|---|---|---|---|---|
| Host | char(60) | NO | 無(wú) | 主機(jī) |
| Db | char(64) | NO | 無(wú) | 數(shù)據(jù)庫(kù)名 |
| User | char(32) | NO | 無(wú) | 用戶名 |
| Table_name | char(64) | NO | 無(wú) | 表名 |
| Column_name | char(64) | NO | 無(wú) | 數(shù)據(jù)列名稱,用來(lái)指定對(duì)哪些數(shù)據(jù)列具有操作權(quán)限 |
| Timestamp | timestamp | NO | CURRENT_TIMESTAMP | 修改該記錄的時(shí)間 |
| Column_priv | set('Select','Insert','Update','References') | NO | 無(wú) | 表示對(duì)表中的列的操作權(quán)限,包括 Select、Insert、Update 和 References |
procs_priv表
procs_priv 表可以對(duì)存儲(chǔ)過(guò)程和存儲(chǔ)函數(shù)進(jìn)行權(quán)限設(shè)置,procs_priv 的表結(jié)構(gòu)如表所示:
| 字段名 | 字段類型 | 是否為空 | 默認(rèn)值 | 說(shuō)明 |
|---|---|---|---|---|
| Host | char(60) | NO | 無(wú) | 主機(jī)名 |
| Db | char(64) | NO | 無(wú) | 數(shù)據(jù)庫(kù)名 |
| User | char(32) | NO | 無(wú) | 用戶名 |
| Routine_name | char(64) | NO | 無(wú) | 表示存儲(chǔ)過(guò)程或函數(shù)的名稱 |
| Routine_type | enum('FUNCTION','PROCEDURE') | NO | 無(wú) | 表示存儲(chǔ)過(guò)程或函數(shù)的類型,Routine_type 字段有兩個(gè)值,分別是 FUNCTION 和 PROCEDURE。FUNCTION 表示這是一個(gè)函數(shù);PROCEDURE 表示這是一個(gè) 存儲(chǔ)過(guò)程。 |
| Grantor | char(93) | NO | 無(wú) | 插入或修改該記錄的用戶 |
| Proc_priv | set('Execute','Alter Routine','Grant') | NO | 無(wú) | 表示擁有的權(quán)限,包括 Execute、Alter Routine、Grant 3種 |
| Timestamp | timestamp | NO | CURRENT_TIMESTAMP | 表示記錄更新時(shí)間 |
到此這篇關(guān)于MySQL 權(quán)限表db、tables_priv、columns_priv和procs_priv的具體使用的文章就介紹到這了,更多相關(guān)MySQL 權(quán)限表 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- mysql報(bào)錯(cuò):1406 Data too long for column問(wèn)題的多種解決方案
- 解決MySQL報(bào)錯(cuò)incorrect?datetime?value?'0000-00-00?00:00:00'?for?column
- MySQL錯(cuò)誤代碼:1052?Column?'xxx'?in?field?list?is?ambiguous的原因和解決
- MySQL中ADD?COLUMN添加多個(gè)字段的寫(xiě)法實(shí)例
- 解決mysql報(bào)錯(cuò):1264-Out of range value for column ‘字段‘ at row 1
相關(guān)文章
Mybatis中的動(dòng)態(tài)SQL語(yǔ)句解析
這篇文章主要介紹了Mybatis中的動(dòng)態(tài)SQL語(yǔ)句解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-11-11
MySQL中查找最小缺失ID的方法實(shí)現(xiàn)
在開(kāi)發(fā)過(guò)程中,我們經(jīng)常會(huì)遇到需要查找數(shù)據(jù)庫(kù)表中最小的缺失 ID 的情況,特別是在處理需要順序標(biāo)識(shí)符的業(yè)務(wù)邏輯時(shí),下面就來(lái)介紹一下,感興趣的可以了解一下2024-11-11
MySQL性能優(yōu)化之Open_Table配置參數(shù)的合理配置建議
這篇文章主要介紹了MySQL性能優(yōu)化之Open_Table配置參數(shù)的合理配置建議,在MySQL數(shù)據(jù)庫(kù)中,Opened_tables表示打開(kāi)過(guò)的表數(shù)量,需要的朋友可以參考下2014-07-07
MySQL中ON DUPLICATE key update的使用
本文主要介紹了MySQL中ON DUPLICATE key update的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-05-05

