2011-09-24 73 views
1

我發出以下命令允許root登錄的任何主機MySQL授權的所有特權是沒有得到應用

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'xxxx' WITH GRANT OPTION; 
FLUSH PRIVILEGES; 

,但它不更新?

 

mysql> show grants; 
+----------------------------------------------------------------------------------------------------------------------------------------+ 
| Grants for [email protected]                            | 
+----------------------------------------------------------------------------------------------------------------------------------------+ 
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '*xxxxxxxxxxxxxxxxx33487256' WITH GRANT OPTION | 
| GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION                   | 
+----------------------------------------------------------------------------------------------------------------------------------------+ 
2 rows in set (0.00 sec) 

回答

4

我懷疑這是因爲當你以root身份連接到localhost時,你發出「show grants」命令。試試這個,看看什麼是返回:

SHOW GRANTS FOR 'root'@'%'; 

如果不顯示任何東西,在mysql.user表一看,有可能是一個線索有:

SELECT user, host FROM mysql.user; 
+0

謝謝,它確實在命令中表現出來。爲什麼我仍然無法從其他主機登錄。錯誤1045(28000):訪問拒絕用戶'root'@'xxxx'(使用密碼:是) – veccy

+0

您發出了哪個命令?你的服務器上是否安裝了MySQL以允許來自遠程主機的連接? – Kenny

+0

那就是我想要歸檔的東西。 *授予所有特權*。*到'root'@'%'不提供此 – veccy

0

創建'pass'標識的用戶'user'@'%'; 查詢OK,0行受影響(0.00秒)

我所做的就是添加授權選項:) 授予全部以'用戶'@'%'與授權選項;

然後就開始工作,它應該是...

最好的問候, 埃默拉爾benligil