MySQL權限體系介紹

官方手冊:https://dev.mysql.com/doc/refman/5.7/en/privileges-provided.html
MySQL是一個多用戶的數據庫,MySQL的用戶可以分為兩大類:
(1)超級管理員用戶(root),擁有全部權限
(2)普通用戶,由root創建,普通用戶只擁有root所分配的權限
mysql 的權限體系大致分為5個層級:

一、全局層級:

全局權限適用于一個給定服務器中的所有數據庫。這些權限存儲在mysql.user表中。
user表存儲了:

1、用戶的信息:

(1)hots列:用戶所在的主機
Localhost表示本機的用戶或者超級管理員
%表示任何主機上的root用戶
(2)user列:用戶名
(3)password(mysql5.7之前)| authentication_string(mysql5.7之后):密碼

2、用戶的權限信息:_priv
3、安全性相關的信息:ssl_、x509_記錄用戶登錄的驗證操作等
4、與資源分配相關的信息:max_

max_questions表示用戶在一個小時內最多可以進行的查詢次數。
max_updates表示用戶在一個小時內最多可以進行的更新次數,也包括增加數據、刪除數據。
max_connections:表示用戶最多可以建立的連接數

二、數據庫層級:

數據庫權限適用于一個給定數據庫中的所有目標。這些權限存儲在mysql.db表中。
db表
1、與用戶相關的字段:hots(用戶所在的主機),user(用戶名),
2、與權限相關的字段:_priv,DB字段規定了_priv權限的有效范圍。

三、表層級:

表權限適用于一個給定表中的所有列。這些權限存儲在mysql.talbes_priv表中。

四、列層級:

列權限適用于一個給定表中的單一列。這些權限存儲在mysql.columns_priv表中。當使用REVOKE時,必須指定與被授權列相同的列。

五、子程序層級:

CREATE ROUTINE, ALTER ROUTINE, EXECUTE和GRANT權限適用于已存儲的子程序。這些權限可以被授予為全局層級和數據庫層級。而且,除了CREATE ROUTINE外,這些權限可以被授予為子程序層級,并存儲在mysql.procs_priv表中。


參考文檔:
http://blog.itpub.net/7607759/viewspace-716634
http://blog.csdn.net/mchdba/article/details/45934981
https://www.cnblogs.com/wangchaoyuana/p/7545419.html

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 用了mysql好多年,很少關注mysql自帶庫,自然也不知道這個庫里存放些什么,在看《MySQL排錯指南》時看到它...
    灼灼2015閱讀 1,915評論 1 3
  • 什么是數據庫? 數據庫是存儲數據的集合的單獨的應用程序。每個數據庫具有一個或多個不同的API,用于創建,訪問,管理...
    chen_000閱讀 4,060評論 0 19
  • 聽說這是今年林院長最后一次親自講教練課了,就十分珍惜這次機會來學習。一開始是報了志愿者,但周英老師建議我,再仔細聽...
    Bonnie陳碧閱讀 331評論 0 1
  • 你從來都不知道,在認識你之后,我所發的每一條動態,字里行間,全都是你。
    涼薄b閱讀 160評論 0 0
  • 我想要“父母式”的愛情,就是在這場感情里,男生扮演女孩的第二個老爹,也就是“右先生”,女孩扮演男孩的第二個老媽子。...
    ni聽妮說閱讀 404評論 0 1