2017-10-15 66 views
0

我試圖從我的ec2實例連接到數據庫。它可以在我的本地開發機器上正常工作。儘管在我的ec2實例上有相同的憑據,但它會引發此錯誤。如何將我撞了超時連接W /笨3 ?:連接超時 - Db - Codeigniter

A PHP Error was encountered 

Severity: Warning 

Message: mysqli::real_connect(): (HY000/2002): Connection timed out 

Filename: mysqli/mysqli_driver.php 

Line Number: 161 

Backtrace: 

File: /opt/workspace/api.my_app.com/index.php 
Line: 292 
Function: require_once 

Unable to connect to your database server using the provided settings. 

Filename: core/CodeIgniter.php 

Line Number: 500 
+0

超時不是你的問題。你沒有正確的數據庫配置,或者你會立即連接。 –

回答

1

這裏的地方我會檢查:

  • EC2安全組規則,在交通 - 這可能是您的EC2實例的IP地址不被允許,而您的本地-dev IP地址是。如果您使用RDS,這尤其有可能 - 確保端口3306對來自EC2 IP地址的RDS的IN流量開放。

  • 如果MySQL直接安裝在EC2服務器上(我不會推薦這個用於大流量用例!),請檢查application/config/database.php中的設置以確保您使用正確的憑證。在這種情況下,它聽起來像DB HOST配置錯誤 - 如果IP地址錯誤,它會超時連接。

+0

完美的是,我使用RDS的默認入站規則。我最終指定了我的ec2實例在端口3306上的安全組,並且工作正常。謝謝! –