SQLSTATE [HY000] [2003]无法连接到MySQL服务器

时间:2014-09-08 17:09:59

标签: php mysql apache amazon-web-services amazon-ec2

我现在正在将应用程序从我拥有的标准专用服务器迁移到AWS EC2上。 我还将数据库(MySQL)移到了Amazon RDS上。 现在我有一个问题,我非常肯定与PHP或Apache配置有关。

在我的专用服务器上,我现在可以毫无问题地访问Amazon RDS数据库,但在EC2实例上,使用完全相同的代码我收到此消息:

  

SQLSTATE[HY000] [2003] Can't connect to MySQL server on ....................eu-west-1.rds.amazonaws.com

我可以通过笔记本电脑上的Sequel Pro和我其他服务器上的PHP访问数据库服务器。 我试图在我的其他服务器上输入MySQL数据库的IP地址,但是同样的错误信息,所以我认为我需要在Apache或PHP中进行一些配置?

这是在CentOS上运行Apache和PHP的EC2实例。

有关哪种配置阻止此连接的建议?

2 个答案:

答案 0 :(得分:5)

对于可能遇到同样问题的其他人,在SSH中运行它,它对我有用:

setsebool -P httpd_can_network_connect=1

答案 1 :(得分:2)

尝试成功 setsebool -P httpd_can_network_connect = 1 在EC2上的RHEL映像上,它能够在同一个VPC中与AWS-RDS连接。

有关详细信息,请参阅。这是RHEL必须采取的步骤

https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Security-Enhanced_Linux/sect-Security-Enhanced_Linux-Booleans-Configuring_Booleans.html