无法连接到Lightsail托管数据库-(HY000 / 2002):连接被拒绝

时间:2019-04-15 10:57:43

标签: php amazon-web-services amazon-rds amazon-lightsail

我正在尝试使用PHP的mysqli扩展名从同一区域中的Lightsail实例连接到Lightsail托管数据库,但出现错误:

  

警告:mysqli_connect():(HY000 / 2002):连接被拒绝

我的脚本非常基础,看起来像这样:

<?php
define("DB_HOST", "ls-xxxxxxxxxxxxxxxxxxxxxx.xxxxx.eu-west-2.rds.amazonaws.com");
define("DB_NAME", "xxxxxxx");
define("DB_USER", "xxxxxxx");
define("DB_PASS", "xxxxxxx");
$db= mysqli_connect(DB_HOST,DB_USER,DB_PASS,DB_NAME,3306);

这是我到目前为止尝试过的:

  • 我检查了$_SERVER['SERVER_ADDR'],发现这是我的Lightsail实例的私有IP地址。
  • 我尝试在数据库的Public mode标签中启用和不启用Networking
  • 我已经能够使用MySQL Workbench成功连接到它
  • 我尝试在Lightsail的“帐户”部分中为我选择的区域打开VPC Peering

我在做什么错了?

1 个答案:

答案 0 :(得分:0)

为防万一,对我来说,问题的原因是尽管在网络防火墙级别打开了端口3306,但该端口仍被我的主机级防火墙(ConfigServer防火墙)阻止了。

我打开后,将3306添加到CSF的允许端口列表中,此错误消失了。