无法连接到 Lightsail 托管数据库 - (HY000/2002):连接被拒绝
Can't connect to Lightsail Managed Database - (HY000/2002): Connection refused
我正在尝试使用 PHP 的 mysqli 扩展从同一区域的 Lightsail 实例连接到 Lightsail 管理的数据库,但出现错误:
Warning: mysqli_connect(): (HY000/2002): Connection refused
我的脚本非常基础,看起来像这样:
<?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 地址。
- 我试过在数据库的
Networking
选项卡中打开和不打开 Public mode
- 我已经能够使用 MySQL Workbench
成功连接到它
- 我已尝试在 Lightsail 的“帐户”部分为我选择的区域启用
VPC Peering
我做错了什么?
以防万一它可能对任何人有帮助,我的问题的原因是端口 3306 被我的主机级防火墙(ConfigServer 防火墙)阻止,尽管它在网络防火墙级别是打开的。
一旦我打开添加 3306 到 CSF 的允许端口列表,这个错误就消失了。
我正在尝试使用 PHP 的 mysqli 扩展从同一区域的 Lightsail 实例连接到 Lightsail 管理的数据库,但出现错误:
Warning: mysqli_connect(): (HY000/2002): Connection refused
我的脚本非常基础,看起来像这样:
<?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 地址。 - 我试过在数据库的
Networking
选项卡中打开和不打开Public mode
- 我已经能够使用 MySQL Workbench 成功连接到它
- 我已尝试在 Lightsail 的“帐户”部分为我选择的区域启用
VPC Peering
我做错了什么?
以防万一它可能对任何人有帮助,我的问题的原因是端口 3306 被我的主机级防火墙(ConfigServer 防火墙)阻止,尽管它在网络防火墙级别是打开的。
一旦我打开添加 3306 到 CSF 的允许端口列表,这个错误就消失了。