.user表中root@localhost這個用戶的權限是怎么樣的。在mysql.user表中記錄了與全局相關的權限信息。這個全局權限不是指擁有所有的權限,它具體指的是擁有該MYSQL
可以看到Grant_priv是N。很顯然,因為root@localhost這個用戶沒有授予權限的權限,所以之前的操作報錯。修改一下Grant_priv的值為Y,刷新下,然后退出重新登錄。問題就解決了。
總結:這個問題不是很常見。但是這個問題提供了一種解決思路,在權限出問題時,應如何入手。mysql中權限的粒度由粗到細分別是全局,數據庫,表,列,程序??梢杂靡痪湓拋砀爬ǎ悍峙淠硞€用戶從某臺機器連接進來訪問某個數據庫下的某張表的某個列的某部分記錄的權限。記錄
與全局相關的權限信息就是mysql.user表中。
記錄數據庫級別的權限信息是mysql.db表。記錄表對象的授權信息記錄是mysql.tables_priv表中。列級權限記錄在mysql.column_priv表中。