mysql——用戶授權

格式:
查詢權限:

show grants for  '用戶'@'IP地址' 

授權:

grant 權限   on  數據庫,   to   '用戶'@'IP地址' 

取消權限

grant 權限   on  數據庫,   from   '用戶'@'IP地址' 

權限大全
MySQL權限詳解(1)

All/All Privileges權限代表全局或者全數據庫對象級別的所有權限
Alter權限代表允許修改表結構的權限,但必須要求有create和insert權 限配合。如果是rename表名,則要求有alter和drop原表,create和 insert新表的權限
Alter routine權限代表允許修改或者刪除存儲過程、函數的權限
Create權限代表允許創建新的數據庫和表的權限
Createroutine權限代表允許創建存儲過程、函數的權限
Createtablespace權限代表允許創建、修改、刪除表空間和日誌組的權 
Create temporary tables權限代表允許創建臨時表的權限
Createuser權限代表允許創建、修改、刪除、重命名user的權限
Createview權限代表允許創建視圖的權限

MySQL權限詳解(2)

 Delete權限代表允許刪除行數據的權限
 Drop權限代表允許刪除數據庫、表、視圖的權限,包括truncatetable命令
 Event權限代表允許查詢,創建,修改,刪除MySQL事件
 Execute權限代表允許執行存儲過程和函數的權限
 File權限代表允許在MySQL可以訪問的目錄進行讀寫磁盤文件操作,可使用 的命令包括load data infile,select ... into outfile,load file()函數
 Grant option權限代表是否允許此用戶授權或者收回給其他用戶你給予的權 
 Index權限代表是否允許創建和刪除索引
 Insert權限代表是否允許在表裏插入數據,同時在執行analyze table,optimize table,repair table語句的時候也需要insert權限
 Lock權限代表允許對擁有select權限的表進行鎖定,以防止其他鏈接對此表 的讀或寫

MySQL權限詳解(3)

 Process權限代表允許查看MySQL中的進程信息,比如執行showprocesslist,
 Reference權限是在5.7.6版本之後引入,代表是否允許創建外鍵
 Reload權限代表允許執行flush命令,指明重新加載權限表到系統內存中, refresh命令代表關閉和重新開啓日誌文件並刷新所有的表
 Replication client權限代表允許執行show master status,show slave status,show binary logs命令
 Replication slave權限代表允許slave主機通過此用戶連接master以便建立主從 複製關係
 Select權限代表允許從表中查看數據,某些不查詢表數據的select執行則不需 要此權限,如Select 1+1,Select PI()+2;而且select權限在執行update/delete 語句中含有where條件的情況下也是需要的
 Showdatabases權限代表通過執行showdatabases命令查看所有的數據庫名
 Show view權限代表通過執行show create view命令查看視圖創建的語句mysqladmin processlist, show engine等命令

MySQL權限詳解(4)

 Shutdown權限代表允許關閉數據庫實例,執行語句包括mysqladmin shutdown
 Super權限代表允許執行一系列數據庫管理命令,包括kill強制關閉某個連接 命令,change master to創建複製關係命令,以及create/alter/drop server等命 
 Trigger權限代表允許創建,刪除,執行,顯示觸發器的權限
 Update權限代表允許修改表中的數據的權限
 Usage權限是創建一個用戶之後的默認權限,其本身代表連接登錄權限

系統權限表
 權限存儲在mysql庫的user,db, tables_priv, columns_priv, and procs_priv這幾個系統表中,待MySQL實例啓動後就加載到內存中
 User表:存放用戶賬戶信息以及全局級別(所有數據庫)權限,決定了 來自哪些主機的哪些用戶可以訪問數據庫實例,如果有全局權限則意味
着對所有數據庫都有此權限
 Db表:存放數據庫級別的權限,決定了來自哪些主機的哪些用戶可以訪 問此數據庫
 Tables_priv表:存放表級別的權限,決定了來自哪些主機的哪些用戶可以 訪問數據庫的這個表
 Columns_priv表:存放列級別的權限,決定了來自哪些主機的哪些用戶可 以訪問數據庫表的這個字段
 Procs_priv表:存放存儲過程和函數級別的權限
 User和db權限表結構
 User權限表結構中的特殊字段
 Plugin,password,authentication_string三個字段存放用戶認證信息
 Password_expired設置成’Y’則表明允許DBA將此用戶的密碼設置成過期而 且過期後要求用戶的使用者重置密碼(alter user/set password重置密碼)
 Password_last_changed作爲一個時間戳字段代表密碼上次修改時間,執 行create user/alter user/set password/grant等命令創建用戶或修改用戶密 碼時此數值自動更新
 Password_lifetime代表從password_last_changed時間開始此密碼過期的天 
 Account_locked代表此用戶被鎖住,無法使用
 Tables_priv和columns_priv權限表結構
 Timestamp和grantor兩個字段暫時沒用
 Tables_priv和columns_priv權限值
 procs_priv權限表結構
 Routine_type是枚舉類型,代表是存儲過程還是函數
 Timestamp和grantor兩個字段暫時沒用
 系統權限表字段長度限制表
 權限認證中的大小寫敏感問題
 字段user,password,authencation_string,db,table_name大小寫敏感
 字段host,column_name,routine_name大小寫不敏感
 User用戶大小寫敏感

一、給DengMeng用戶對db1庫具有超級管理員授權(全部權限)
1、創建數據庫db1

create database db1 default charset utf8;

2、DengMeng授權

grant all Privileges on db1.* to 'DengMeng'@'%';

在這裏插入圖片描述
二、登錄DengMeng用戶測試訪問

mysql -uDengMeng   -proot123.   db1

在這裏插入圖片描述

具體授權看需求

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章