mysql - 无法从 php 连接到 AWS RDS MySQL

标签 mysql amazon-web-services amazon-rds

我是 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/

相关文章:

java - Sunpkcs11 提供商是否与 AWS CloudHSM 兼容?

python - mysql 命令作为 python 子进程

mysql - 我如何获得这三个 COUNTS() 的总和?

mysql - 如何按组分隔两列计数?

performance - 仅使用 nginx 服务器,EC2 微型实例应该能够处理多少用户?

postgresql - 将大(250Gb)RDS PostgreSQL 数据库转储到我的本地机器中

mysql - MySQL 中的循环过程

node.js - Amazon Rekognition 图像 : error InvalidImageFormatException: Request has invalid image format

mysql - 如何查看rdsadmin对mysql实例的权限?

postgresql - 将 AWS S3 批量加载到 Postgres 流 STDIN