[英]Unable to connect to AWS RDS MySQL from php
我是 AWS 的新手,并且已经设置了一个 mysql RDS 实例。
我可以使用 MySQLWorkbench 从我的笔记本电脑连接,但是当我尝试从我的一台服务器(不是 aws 服务器)连接以下代码时,我收到以下错误:
警告:mysqli::mysqli(): (HY000/2002): Connection timed in /home/asmserverco/public_html/sms/login.php on line 28 Connection failed: Connection timed out
这是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。
为什么我可以从我的笔记本电脑而不是我的网络服务器连接?
考虑到您在启用 SELinux 的情况下运行 CentOS,检查审计文件总是一个好主意。
/var/log/audit/audit.log
话虽如此,我确定问题在于缺少网络标志。 以 root 身份在下面运行。
setsebool -P httpd_can_network_connect 1
并尝试再次访问。
假设您没有修改 NACL,请检查 RDS 是否允许从您服务器的 IP 连接到端口 3306。 如果你想为所有人打开它(这不安全,因此不推荐)它应该是 0.0.0.0/0。
此外,请确保“可公开访问”设置为“是”。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.