2013-04-10 159 views
0

我試圖從我的VPS連接到AWS MySQL服務器,但無論我嘗試什麼,我只是訪問被拒絕,我的用戶有權訪問從任何主機連接。無法連接到遠程MySQL服務器(使用默認服務器代替)

如果我試圖通過PHP連接:

$db = new mysqli('mysite.cufncdsjslka.us-east-1.rds.amazonaws.com', 'my_user', 'my_pass', 'my_db'); 

給我:Warning: mysqli::mysqli(): (28000/1045): Access denied for user 'my_user'@'XXXX.myhost.com' (using password: YES) in /home/me/shopify/libraries/db.lib.php on line 4

如果我嘗試通過MySQL的CLI連接:

mysql -h mysite.cufncdsjslka.us-east-1.rds.amazonaws.com -umy_user -p 

給我: ERROR 1045 (28000): Access denied for user 'my_user'@'xxxx.myhost.com' (using password: YES)

這個命令在我的電腦上完美工作,但不在我的VP上S.

我假設它是某種安全設置,防止MySQL使用外部服務器?

我的VPS正在運行Debian squeeze,其中的LAMP組件都來自標準的Debian軟件包,但手動更新到5.4的PHP除外。

我發佈這個作爲一個新的問題,因爲我發現在大多數類似的問題是一個權限問題(我已經給我的MySQL用戶priveliges從任何主機連接)或SELinux問題(這AFAIK doesn不適用於Debian)

+0

您需要將您的IP或域列入白名單,以便遠程mysql連接正常工作。這通常在您的cPanel中找到,在數據庫下 - > remote mysql – 2013-04-10 03:53:33

+0

告訴我們您是如何允許它從任何主機連接的。另外,請務必仔細檢查您的密碼。 – 2013-04-10 03:57:35

+0

@JohnVanDeWeghe我可以通過我自己的PC(通過本地主機LAMP,我的IDE或MySQL Workbench)進行連接,沒有任何問題。 – wyqydsyq 2013-04-10 04:06:05

回答

1

好的。

我看過這個問題的次數有很多不同的原因。由於我看不到您的服務器或日誌,所以我從信息中猜測可能存在綁定地址問題。

在my.cnf檢查

bind-address=YOUR-SERVER-IP 

它改變你的MySQL服務器的ip地址的,例如在此之後81.92.33.45

重啓MySQL。如果你仍然無法連接,然後讓我知道來自日誌的錯誤信息,我會再看看。

其次確保iptables不會造成問題。

iptables -A INPUT -i eth0 -p tcp --destination-port 3306 -j ACCEPT