程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> MySQL數據庫授權系統的五個表

MySQL數據庫授權系統的五個表

編輯:關於MYSQL數據庫

MySQL授權系統是由數據庫中的五個表來實現,下面就為您詳細介紹這五個和MySQL授權系統相關的表,如果您感興趣的話,不妨一看。

MySQL服務器的特點之一是,它在控制每個用戶行為方面提供了極大的靈活性。例如,我們既可以限制用戶訪問整個數據庫,也可以限制用戶訪問數據庫中特定的表,或者禁止訪問特定表中的特定列。由此看出MySQL服務器在用戶授權方面的靈活性。本文將向大家詳細介紹MySQL服務器是如何處理用戶權限的授與/撤回的,尤其是MySQL的授權表tables_priv和columns_priv。

MySQL授權系統通常是通過MySQL數據庫中的五個表來實現的,這些表有user、db、host、tables_priv和columns_priv。這些表的用途各有不同,但是有一點是一致的,那就是都能夠檢驗用戶要做的事情是否為被允許的。每個表的字段都可分解為兩類,一類為作用域字段,一類為權限字段。作用域字段用來標識主機、用戶或者數據庫;而權限字段則用來確定對於給定主機、用戶或者數據庫來說,哪些動作是允許的。下面,我們對這些表的作用做簡單介紹:

user表——該表決定是否允許用戶連接到服務器。如果允許連接,權限字段則為該用戶的全局權限。

db表——用於決定哪些用戶可以從哪些主機訪問哪些數據庫。包含在db表中的權限適用於這個表標識的數據庫。

host表——當您想在db表的范圍之內擴展一個條目時,就會用到這個表。舉例來說,如果某個db允許通過多個主機訪問的話,那麼超級用戶就可以讓db表內將host列為空,然後用必要的主機名填充host表。

tables_priv表——該表與db表相似,不同之處是它用於表而不是數據庫。這個表還包含一個其他字段類型,包括timestamp和grantor兩個字段,用於存儲時間戳和授權方。在本文後面我們會對這個表做進一步的講解。

columns_priv——該表作用幾乎與db和tables_priv表一樣,不同之處是它提供的是針對某些表的特定列的權限。這個表也多出了一個字段類型,即其他字段,包括了一個timestamp列,用於存放時間戳。 在本文後面部分,我們還會對columns_priv表做進一步的說明。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved