2013-04-10 162 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