2015-03-24 429 views
0

嗨,大家好,我一直在這個問題上停留了一個小時。我在線閱讀,我必須更改用戶在MySQL上的權限。我已經做到了這一點,用戶已被授予所有權限,但我仍然得到錯誤!當我輸入SHOW GRANTS FOR 'root'@'localhost';它返回與訪問拒絕用戶'''本地主機'

+---------------------------------------------------------------------+ | Grants for [email protected] | +---------------------------------------------------------------------+ | GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION | | GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION | +---------------------------------------------------------------------+ 任何幫助將不勝感激我似乎無法找到任何有效的工作。

+0

'訪問拒絕用戶'@'localhost'' 這意味着用戶名是** null **。請澄清,如果您獲得'訪問拒絕用戶root'@'localhost'' – 2015-03-24 21:31:27

+0

yes對於root用戶 – ltbrown 2015-03-25 00:01:42

回答

0

看起來你沒有提供用戶 - ''@'localhost'。沒有提供任何代碼示例,也很難排除故障。

+0

'<?php $ servername =「127.0.0.1」; $ username =「root」; $ password =「」; //創建連接 $ conn = new mysqli($ servername,$ username,$ password); (「data」)或死('Error'。mysql_error()); ($ conn-> connect_error){ die(「Connection failed:」。$ conn-> connect_error); }'這只是連接代碼 – ltbrown 2015-03-25 00:03:03

+0

嘗試:<?php $ servername =「localhost」; – McKracken 2015-03-25 00:22:12

0

本地主機和127.0.1不一視同仁,用於連接到MySQL所以只是改變$服務器名稱爲localhost或授予權限,以[email protected]

從文檔:

在Unix,MySQL程序專門處理主機名localhost,與其他基於網絡的程序相比,這種方式可能與您期望的不同。對於連接到本地主機,MySQL程序試圖通過使用Unix套接字文件連接到本地服務器。即使給出了--port或-P選項來指定端口號,也會發生這種情況。要確保客戶端與本地服務器建立TCP/IP連接,請使用--host或-h指定主機名值127.0.0.1或本地服務器的IP地址或名稱。您還可以通過使用--protocol = TCP選項來明確指定連接協議,即使對於本地主機也是如此。

0

原來如此,

Access denied for user 'root'@'localhost' 

但是你又不能提供完整的信息,請檢查這兩個你所得到的一個,我們將提供一種基於

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) 

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: Yes) 
接下來的步驟

另外,如果你不能以root身份登錄mysql提示符,那你怎麼能看到SHOW GRANTS

相關問題