2011-04-16 119 views
0

我已經通過名稱「somedatabase」在MySQL拒絕訪問用戶SomeUser的'@「localhost」的(使用密碼:YES)

CREATE DATABASE somedatabase; 
GRANT ALL ON somedatabase.* TO 'someuser'@'localhost' IDENTIFIED BY 'somepassword'; 

創建一個數據庫,但是當我嘗試使用PHP應用程序訪問該數據庫我得到以下錯誤

mysql_connect()函數[function.mysql-連接]:拒絕用戶 'SomeUser的' @ 'localhost' 的訪問 (使用密碼:YES)

Mysql查詢瀏覽器允許我使用用戶名:someuser和password:somepassword登錄到此數據庫。那麼爲什麼我不能通過應用程序連接到數據庫。

PHP代碼:

$db_url = 'mysql://someuser:*somepassword*@localhost/somedatabase'; 
+0

這只是在變量賦值你用什麼函數連接到MySQL? – 2011-04-16 06:17:54

+2

如果從命令行嘗試使用mysql命令行程序,會發生什麼情況? – 2011-04-16 06:19:17

+1

你能顯示完整的PHP連接代碼部分嗎? – BugFinder 2011-04-16 06:22:04

回答

1

使用GRANT時,不要使用singlequote(')將SomeUser的。

GRANT ALL ON somedatabase.* TO [email protected]'localhost' IDENTIFIED BY 'somepassword'; 

我還假設你在MySQL的同一個盒子上運行Apache/PHP。

+0

感謝您的即時回覆..嘗試你的語法沒有工作.. – JAB 2011-04-16 06:30:19

+0

你是否在與MySQL相同的盒子上運行Apache?如果沒有,那麼你必須爲請求服務器或所有('%')創建授權。 – lobster1234 2011-04-16 06:31:29

+0

雅我在Apache上運行的Mysql – JAB 2011-04-16 06:37:57

0

我有同樣的問題。我的問題的解決方案是設置主機,由於某種原因PHP不連接用戶在任何主機(%)

相關問題