Mysql
無法通過 PHP 從 EC2 連接到 RDS。我可以直接想到
我已經設置了一個 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