標籤:
MySQL許可權表,控制使用者對資料庫的訪問,存在mysql資料庫中,由mysql_install_db初始化,包括user,db,host,tables_priv,columns_priv,procs_priv
1.user表,記錄允許串連到伺服器的帳號資訊,許可權為全域級。
- 使用者列(包括host,user,password,前二者為user表的聯合主鍵)、
- 許可權列,描述使用者權限,值為N or Y,預設值都為N,修改需要靠grant或update
- 安全列
- n 兩個ssl相關,用於加密,show variables like‘have_openssl’查看是否支援ssl
- n 兩個X509相關,用於標示使用者
- n Plugin用於驗證使用者身份,若為空白,則伺服器使用內建授權驗證機制驗證使用者身份
- n Authentication_string
- 資源控制列,包含三個欄位,限制使用者使用的資源(max_xxxxxxx)
2. db表和host表
Db表記錄使用者對某個資料庫的使用許可權,決定使用者能從哪個主機操作哪個資料庫;
host表記錄主機對某個資料庫的使用許可權,配合db表控制給定主機上資料庫級操作許可權
host表不受grant和revoke的影響
- 使用者列
- db表包含host,user,db(三者為db表聯合主鍵)標示從某個主機串連某個使用者對某個資料庫的操作許可權
- host表沒喲使用者資訊,只有host和db
- 許可權列,兩個表大致相同
3.tables_priv表用來對錶設定作業許可權
4.colums_priv表對錶的某一列設定作業許可權
Column_name用來指定對哪些資料列具有操作許可權
5.procs_priv表,對預存程序和儲存函數設定作業許可權
Routine_name、Routine_type(‘function’,‘procedure’)標示預存程序或者儲存函數的名字和類型
【MySQL學習筆記】MySQL許可權表