MySQL 權限表db、tables_priv、columns_priv和procs_priv的具體使用
db表
db 表比較常用,是 MySQL 數(shù)據(jù)庫中非常重要的權限表,表中存儲了用戶對某個數(shù)據(jù)庫的操作權限。表中的字段大致可以分為兩類,分別是用戶列和權限列。
用戶列
db 表用戶列有 3 個字段,分別是 Host、User、Db,標識從某個主機連接某個用戶對某個數(shù)據(jù)庫的操作權限,這 3 個字段的組合構成了 db 表的主鍵。
db 表的用戶列如下表所示:
字段名 | 字段類型 | 是否為空 | 默認值 | 說明 |
---|---|---|---|---|
Host | char(60) | NO | 無 | 主機名 |
Db | char(64) | NO | 無 | 數(shù)據(jù)庫名 |
User | char(32) | NO | 無 | 用戶名 |
權限列
db 表中的權限列和 user 表中的權限列大致相同,只是user 表中的權限是針對所有數(shù)據(jù)庫的,而 db 表中的權限只針對指定的數(shù)據(jù)庫。如果希望用戶只對某個數(shù)據(jù)庫有操作權限,可以先將 user 表中對應的權限設置為 N,然后在 db 表中設置對應數(shù)據(jù)庫的操作權限。
tables_priv表和columns_priv表
tables_priv 表用來對單個表進行權限設置,columns_priv 表用來對單個數(shù)據(jù)列進行權限設置。tables_priv 表結構如下表所示:
字段名 | 字段類型 | 是否為空 | 默認值 | 說明 |
---|---|---|---|---|
Host | char(60) | NO | 無 | 主機 |
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 | 無 | 表示對表的操作權限,包括 Select、Insert、Update、Delete、Create、Drop、Grant、References、Index 和 Alter 等 |
Column_priv | set('Select','Insert','Update','References') | NO | 無 | 表示對表中的列的操作權限,包括 Select、Insert、Update 和 References |
columns_priv 表結構如下表所示:
字段名 | 字段類型 | 是否為空 | 默認值 | 說明 |
---|---|---|---|---|
Host | char(60) | NO | 無 | 主機 |
Db | char(64) | NO | 無 | 數(shù)據(jù)庫名 |
User | char(32) | NO | 無 | 用戶名 |
Table_name | char(64) | NO | 無 | 表名 |
Column_name | char(64) | NO | 無 | 數(shù)據(jù)列名稱,用來指定對哪些數(shù)據(jù)列具有操作權限 |
Timestamp | timestamp | NO | CURRENT_TIMESTAMP | 修改該記錄的時間 |
Column_priv | set('Select','Insert','Update','References') | NO | 無 | 表示對表中的列的操作權限,包括 Select、Insert、Update 和 References |
procs_priv表
procs_priv 表可以對存儲過程和存儲函數(shù)進行權限設置,procs_priv 的表結構如表所示:
字段名 | 字段類型 | 是否為空 | 默認值 | 說明 |
---|---|---|---|---|
Host | char(60) | NO | 無 | 主機名 |
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 | 無 | 表示擁有的權限,包括 Execute、Alter Routine、Grant 3種 |
Timestamp | timestamp | NO | CURRENT_TIMESTAMP | 表示記錄更新時間 |
到此這篇關于MySQL 權限表db、tables_priv、columns_priv和procs_priv的具體使用的文章就介紹到這了,更多相關MySQL 權限表 內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
mysql left join快速轉inner join的過程
inner join內連接,顯示兩個表中有聯(lián)系的所有數(shù)據(jù)而left join,左鏈接,以左表為參照,顯示所有數(shù)據(jù),右表中沒有則以null顯示,本文重點給大家講解mysql left join快速轉inner join的過程,需要的朋友參考下吧2021-06-06mysql5.7.13 環(huán)境搭建教程(解壓縮版)
這篇文章主要為大家詳細介紹了mysql解壓縮版環(huán)境搭建教程,具有一定的實用性,感興趣的小伙伴們可以參考一下2016-07-07