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表做進一步的說明。
mysql授權 mysql授權
2.授權法。pis1 允許使用者myuser使用mypassword從任何主機連線到mysql伺服器。sql 1 grant all privileges on to myuser identified by mypassword with grant option 2 flush privileg...
mysql 授權 mysql 使用者授權
mysql grant 許可權1,許可權2,許可權n on 資料庫名稱.表名稱 to 使用者名稱 使用者位址 identified by 連線口令 許可權1,許可權2,許可權n代表select,insert,update,delete,create,drop,index,alter,grant,re...
mysql授權書 MySQL授權
一 建立新使用者 insert into mysql.user host,user,password values localhost newuser password 123456 如果報錯將my.ini或者my.cnf,查詢 sql mode strict trans tables,no aut...