很奇怪,root用戶應該不可能無法授權普通用戶。看提示像是說密碼錯誤。但是實際上密碼沒有問題。 決定去看看mysql.user表中root@localhost這個用戶的權限是怎么樣的。在mysql.user表中記錄了與全局相關的權限信息。這個全局權限不是指擁有所有的權限,它具體指的是擁有該MYSQL服務器所有數據庫對象的權限。 mysql> select * from mysql.user where User='root' and Host='localhost'/G;
可以看到Grant_priv是N。很顯然,因為root@localhost這個用戶沒有授予權限的權限,所以之前的操作報錯。修改一下Grant_priv的值為Y,刷新下,然后退出重新登錄。問題就解決了。 mysql> update mysql.user set Grant_priv='Y' where User='root' and Host='localhost';