我是 AWS 的新手,已经设置了一个 mysql RDS 实例。
我可以使用 MySQLWorkbench 从我的笔记本电脑进行连接,但是当我尝试从我的一台服务器(不是 aws 服务器)连接以下代码时,出现以下错误:
Warning: mysqli::mysqli(): (HY000/2002): Connection timed out 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
然后再次尝试访问。
关于mysql - 无法从 php 连接到 AWS RDS MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43295284/