Mysql

無法通過 PHP 從 EC2 連接到 RDS。我可以直接想到

  • August 23, 2016

我已經設置了一個 EC2 實例,它安裝了 mysql 和 php-mysql(不是 mysql-server)。

我已經設置了一個 RDS 實例並將安全組設置為 EC2 實例。

可以通過 EC2 的命令行連接,但是當我嘗試通過 mysqli 連接時,我收到消息:無法連接到“XXXX.xxxxxxx.us-east-1.rds.amazonaws.com”上的 MySQL 伺服器

這是我第一次與兩者合作。

我在這裡錯過了什麼嗎?

define("HOST", "XXXX.xxxxxxx.us-east-1.rds.amazonaws.com");
define("DBUSER", "my_user");
define("PASS", "********");
define("DB", "mydb");
define("PORT", 3306);

$link=mysqli_connect(HOST,DBUSER,PASS,DB,PORT); 

// Check connection
if (mysqli_connect_errno($link)){
   echo "Failure to connect: " . mysqli_connect_error();
}

mysqli_close($link);

我發現了一個類似的問題

解決方案是執行setsebool -P httpd_can_network_connect=1

我必須對 SELinux 進行更改,我的實例是 RHEL6。

setsebool httpd_can_network_connect=1 setsebool httpd_can_network_connect_db on

我發現奇怪的是 SELinux 沒有記錄任何異常/var/log/audit/audit.log

引用自:https://serverfault.com/questions/495020