AWS RDS无法从php连接到mysql

时间:2017-04-08 14:28:00

标签: mysql amazon-web-services amazon-rds

我是AWS新手并设置了一个mysql RDS实例。

我可以使用MySQLWorkbench从我的笔记本电脑连接但是当我尝试从我的一台服务器(而不是aws服务器)连接以下代码时,我收到以下错误:

  

警告:mysqli :: mysqli():( HY000 / 2002):第28行/home/asmserverco/public_html/sms/login.php中的连接超时   连接失败:连接超时

这是php连接代码:

$servername = "****.us-west-2.rds.amazonaws.com";
$username = "awsasm";
$password = "****";
$dbname = "sms";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

我已将实例的安全组中的所有流量设置为允许来自任何IP。

为什么我可以从笔记本电脑连接而不是我的网络服务器?

2 个答案:

答案 0 :(得分:1)

考虑到你在启用SELinux的情况下运行CentOS,检查审计文件总是好主意。

/var/log/audit/audit.log

话虽如此,我确定问题在于缺少网络标志。以root身份运行。

setsebool -P httpd_can_network_connect 1

并尝试再次访问。

答案 1 :(得分:1)

假设您没有修改NACL,请检查RDS是否允许从服务器的IP连接到端口3306。如果你想打开它,它应该是0.0.0.0/0。

另外,请确保' Publicly Accessible'设置为“是”'。