2013-03-07 249 views
0

我已經給所有的權限給新用戶使用下面的查詢在MySQL權限授予新用戶

grant all privileges on database.* to [email protected] identified by 'password'; 

隨後訪問MySQL數據庫通過

flush privileges; 

這之後我看到一個新行被添加到mysql.user中,但在所有列中都有'N'(如Select_priv = N,Insert_priv = N等等)。

N表示用戶沒有被授予所有權限嗎?這是授予用戶權限的方式嗎?這是我第一次這樣做。需要一些幫助

謝謝。

+0

錯誤的表格 - 您只能在特定數據庫上授予,請嘗試使用'db'表格。你也不需要刷新,因爲你沒有直接編輯表格。 – 2013-03-07 17:54:32

回答

2

你找錯表,mysql.user定義全局權限,所以如果你不喜歡的東西:

grant all privileges on *.* to [email protected] identified by 'password'; 

然後用戶會出現在那裏。

您要查看的表格是mysql.db,它定義了數據庫特定的權限。

+0

哦,謝謝!我不知道這一點。那麼,兩個表mysql.user和mysql.db之間的區別究竟是什麼? – Anil 2013-03-07 18:02:16

+0

正如我所說的,'mysql.user'是_any database_上的權限,'mysql.db'是database_上的權限_by。 – 2013-03-07 18:11:56

+0

非常感謝。這是很好的知道 – Anil 2013-03-07 18:15:40