从我的服务器访问我的Amazon RDS MySQL数据库时遇到问题。
我得到这个: –
[Thu Sep 22 13:45:33 2011] [error] [client xx.xx.xx.xx] PHP Warning: mysqli::mysqli() [<a href='function.mysqli-mysqli'>fqli-mysqli</a>]: (HY000/2003): Can't connect to MySQL server on 'xxxx-1.rds.amazonaws.com' (110) xxx.php on line 22, referer: xxx**
我已经尝试通过服务器上的cmdline手动访问:
mysql -h xxxx.rds.amazonaws.com -p –port = 3306
然后我要求input密码,然后挂起来说
错误2003(HY000):无法连接到'xxxx.rds.amazonaws.com'(110)上的MySQL服务器
这是一个端口和/或防火墙相关的问题? 如果是的话,我该怎么处理?
是不是因为我已经在3306端口上运行了mysql srvr?
可能的原因有: – 防火墙阻止访问端口3306 – 数据库服务器未在默认端口(3306)上运行 – MySQL守护程序configuration为仅接受来自本地主机的连接,而不是来自远程主机。 (可以通过“netstat -ntlp”来testing)。
我认为你的安全组ec2实例必须有出站{所有TCP},并select目的地或你的IP地址
我有同样的问题,试图连接到远程MySQL数据库。
我通过在数据库服务器上打开防火墙来解决这个问题,以允许stream量通过:
sudo ufw allow mysql
RDS服务器不能公开访问。 如果尝试ping端点URL,则会看到它返回私有IP(本地地址在DB子网上)IP,而不是公用IP。
由于无法将弹性IP附加到RDS(因为它将连接到networking接口而不是连接端点),所以您有两种访问RDS远程的选项。
A)使用SSH隧道B)使用公有子网创buildVPC,并使用networking地址转换将连接路由到私有子网。 您应该通过弹性负载平衡器路由连接以避免单点故障。