2009-12-28 129 views
0

我想連接遠程mysql我有典型的問題。mysql遠程連接問題?如何使用PHP連接?

$conn = mysql_connect('xxx.xxx.xxx.xxx', 'username', 'password') or die(mysql_error()); 

讓我的系統的主機名是my.host.com和遠程一個是remote.host.com

我tryed同時使用IP xxx.xxx.xxx.xxx和remote.host.com它是說

Access denied for user 'username'@'my.host.com' (using password: YES) 

請幫我解決這個問題。

在此先感謝。

回答

1

你授予與主機用戶的權限?

 

GRANT ALL ON mydb.* TO 'someuser'@'somehost'; 
 
+0

我使用hostname作爲remote.host.com,但它顯示 拒絕訪問用戶'username'@mymyost.com'(使用密碼:YES) – itsoft3g

+0

用戶必須具有該特定主機的權限,是否設置了該特定主機那個呢? – mmattax

0

檢查您指定的密碼和用戶名是否正確以及是否設置了用戶在數據庫中進行訪問。

如果不解決這個問題,讀http://dev.mysql.com/doc/refman/5.1/en/access-denied.html

+0

我使用hostname作爲remote.host.com,但它顯示 訪問被拒絕用戶'username'@mymyost.com'(使用密碼:是) – itsoft3g

+0

主機名不是你的問題。否則,您將無法從服務器獲得拒絕訪問響應。檢查用戶/通行證和GRANT – Gordon

+0

如何設置授權 – itsoft3g

0

您需要允許從MySQL內部訪問所需的客戶端主機。

請參閱GRANT命令(特別是「全局權限」位)的具體信息。

+0

我使用hostname作爲remote.host.com,但它顯示 訪問被拒絕用戶'username'@mymyost.com'(使用密碼:是) – itsoft3g

+1

您需要允許訪問'my.host.com' 。 (順便說一句,我認爲它不是說'my.host.com',而是你試圖連接的特定主機。) –

+0

我該怎麼做?請幫我 – itsoft3g

0

請閱讀MySQL的文檔中的The MySQL Access Privilege System章:

您的身份是基於兩個信息:
*客戶端主機 從中連接
*您的MySQL用戶名
身份檢查是使用三個用戶表範圍列(主機,用戶和密碼)執行。只有某些用戶錶行中的主機和用戶列與客戶機主機名和用戶名相匹配,並且客戶機提供該行中指定的密碼時,服務器纔會接受連接。
即,如果您的php腳本在my.host.com上運行並連接到某個遠程MySQL服務器,則必須在服務器的mysql.user表中爲[username,my.host.com,yourpassword]輸入一個條目,否則服務器將拒絕訪問。