您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關mysql數據庫的權限和層級有哪些,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
全局管理權限:
FILE: 在MySQL服務器上讀寫文件。
PROCESS: 顯示或殺死屬于其它用戶的服務線程。
RELOAD: 重載訪問控制表,刷新日志等。
SHUTDOWN: 關閉MySQL服務。
數據庫/數據表/數據列權限:
ALTER: 修改已存在的數據表(例如增加/刪除列)和索引。
CREATE: 建立新的數據庫或數據表。
DELETE: 刪除表的記錄。
DROP: 刪除數據表或數據庫。
INDEX: 建立或刪除索引。
INSERT: 增加表的記錄。
SELECT: 顯示/搜索表的記錄。
UPDATE: 修改表中已存在的記錄。
特別的權限:
ALL: 允許做任何事(和root一樣)。
USAGE: 只允許登錄–其它什么也不允許做。
MySQL用戶權限層級
全局層級:全局權限適用于一個給定MySQL Server中的所有數據庫,這些權限存儲在mysql.user表中。
GRANT ALL ON *.* TO 'user'@'host'; # *.* 表示數據庫庫的所有庫和表,對應權限存儲在mysql.user表中
數據庫層級:數據庫權限適用于一個給定數據庫中的所有目標,這些權限存儲在mysql.db表中。
GRANT ALL ON mydb.* TO 'user'@'host'; #mydb.* 表示mysql數據庫下的所有表,對應權限存儲在mysql.db表中
表層級:表權限適用于一個給定表中的所有列,這些權限存儲在mysql.tables_priv表中。
GRANT ALL ON mydb.mytable TO 'user'@'host'; #mydb.mytable 表示mysql數據庫下的mytable表,對應權限存儲在mysql.tables_priv表
列層級:列權限使用于一個給定表中的單一列,這些權限存儲在mysql.columns_priv表中。
GRANT ALL (col1, col2, col3) ON mydb.mytable TO 'user'@'host'; #mydb.mytable 表示mysql數據庫下的mytable表, col1, col2, col3表示mytable表中的列名
子程序層級:CREATE ROUTINE、ALTER ROUTINE、EXECUTE和GRANT權限適用于已存儲的子程序。這些權限可以被授予為全局層級和數據庫層級。而且,除了CREATE ROUTINE外,這些權限可以被授予子程序層級,并存儲在mysql.procs_priv表中。
GRANT EXECUTE ON PROCEDURE mydb.myproc TO 'user'@'host'; #mydb.mytable 表示mysql數據庫下的mytable表,PROCEDUR表示存儲過程
關于mysql數據庫的權限和層級有哪些就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。