2010-09-21 170 views
3

我有兩個服務器(虛擬機 - 我可以遠程連接到這) - 服務器1和服務器2連接到MySQL不同的服務器

在服務器1我把我的網頁,並在服務器2,我保留數據庫。

目前我正在試圖從服務器1

這裏連接到數據庫服務器上的2是我的PHP代碼:

<?php 
      $dbhost = 'xxx.xx.xx.xx:xxxx'; 
      $dbuser = 'xxxxxx'; 
      $dbpass = 'xxxxxx'; 

      $conn = mysql_connect($dbhost, $dbuser, $dbpass) or die('Error connecting to mysql' . mysql_error()); 


      $dbname = 'database'; 
      mysql_select_db($dbname); 
?> 

這是錯誤消息我收到的時候我嘗試連接:

Access denied for user 'xxxxxx'@'server1' (using password: YES) 

我發現它有點令人費解的是,它說@ server1的考慮,我試圖連接到服務器2.任何人都可以提供任何見解?

感謝

PS:他們都是在2008年窗口

+0

這個問題可以幫助你:[問題] [1] [1]:http://stackoverflow.com/questions/14438544/connect-to-mysql-on-a-different-server – pollux1er 2014-06-10 10:08:52

回答

3

確定是否授予訪問權限時,連接客戶端的主機名中的MySQL因素。給定的用戶名可能被允許從託管數據庫的同一臺機器(即本地主機)登錄,但從遠程系統使用時不允許連接。

就你而言,聽起來用戶'xxxxxx'沒有被授權從'server1'連接。您可以授予所有主機的用戶'xxxxxx'登錄權限('%')。但是,將該帳戶的登錄權限限制在特定主機('server1')或主機範圍('%.mydomain.com'或'144.155.166.0/255.255.255.0')要使用的。

有關MySql身份驗證過程的這方面的更多信息,請參閱http://dev.mysql.com/doc/refman/5.0/en/connection-access.html

+0

謝謝Ben,這是最詳細的答案,所以我會打勾。感謝所有回答的人! – 109221793 2010-09-21 12:29:06

2

「訪問被拒絕的用戶‘XXXXXX’@‘服務器1’」是指服務器1用不上到Server2。您需要在服務器2上添加新的用戶,該用戶可以從服務器1(主機名:服務器1)連接;

2

你需要給權限該機器

檢查它here

2

刪除此用戶,並創建一個新的以「XXXXXX」 @「%」。在兩臺服務器上都做這個。 @'%'表示用戶可以從任何地方連接。