You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在AWS EC2安装Drupal连接Acquia DB时遇SQLSTATE[HY000][2002]错误

解决AWS EC2上Drupal 8安装时SQLSTATE[HY000] [2002] Connection拒绝错误

嘿,我之前在AWS EC2部署Drupal时也碰到过完全一样的SQLSTATE[HY000] [2002] Connection refused错误,给你梳理几个最关键的排查方向,亲测能解决大部分这类问题:

1. 先确认EC2和数据库的网络连通性

这是最常见的踩坑点,AWS的安全组/防火墙限制很容易被忽略:

  • 如果用的是AWS RDS数据库:检查EC2实例的安全组是否允许**出站(Outbound)访问RDS实例的3306端口(MySQL默认);同时RDS的安全组要允许入站(Inbound)**来自EC2安全组的3306端口请求。
  • 如果是EC2本地安装的MySQL:
    • 检查EC2上的防火墙(比如ufw或iptables)是否放行3306端口,执行sudo ufw allow 3306(Ubuntu/Debian)临时开放测试。
    • 查看MySQL绑定的地址:打开my.cnf(路径通常是/etc/mysql/my.cnf或/etc/my.cnf),找到bind-address配置,如果是127.0.0.1则只能本地访问,改成0.0.0.0(允许所有IP)或EC2的私有IP才能让Drupal连接。
  • 用命令测试连通性:在EC2终端执行nc -zv <数据库IP/端点> 3306,如果返回succeeded说明网络通,否则就是网络层面的问题。

2. 验证MySQL用户的访问权限

很多时候是用户权限限制导致的连接拒绝:

  • 登录MySQL(数据库所在机器),执行SELECT user, host FROM mysql.user;,查看你的Drupal数据库用户对应的host字段,是不是允许EC2的IP访问(比如你的EC2私有IP或者%,%表示允许所有IP,测试用,生产环境建议指定具体IP)。
  • 如果权限不对,更新权限:
    GRANT ALL PRIVILEGES ON 你的数据库名.* TO '你的用户名'@'允许的IP或%' IDENTIFIED BY '你的密码';
    FLUSH PRIVILEGES;
    

3. 检查MySQL服务状态和可用性

  • 如果是EC2本地MySQL:执行systemctl status mysql(Ubuntu/Debian)或service mysqld status(CentOS),确认服务是active (running)状态,如果没启动就执行sudo systemctl start mysql。
  • 如果是RDS:登录AWS控制台查看RDS实例状态,确保是available,没有处于维护、停止或创建中状态。

4. 再仔细核对Drupal的数据库配置

虽然你说已经核对过,但再检查一遍sites/default/settings.php(Drupal 8的配置文件是这个,不是config.inc哦)里的数据库数组:

$databases['default']['default'] = [
  'database' => '你的数据库名称',
  'username' => '你的数据库用户名',
  'password' => '你的数据库密码',
  'host' => '数据库IP或RDS端点地址',
  'port' => '3306', // 确认端口和MySQL配置一致
  'driver' => 'mysql',
  'prefix' => '',
];

注意:如果是本地MySQL,host填localhost或127.0.0.1;如果是远程RDS,要填完整的RDS端点地址(比如xxx.rds.amazonaws.com),不要写错。

5. 直接在EC2上测试数据库登录

在EC2终端执行mysql -u 你的用户名 -p -h 数据库IP/端点,输入密码后如果能成功登录,说明数据库本身没问题,问题出在Drupal配置;如果登录失败,那就是数据库的网络或权限问题,先解决这个。

如果按照以上步骤排查后还是不行,可以把nc命令的输出、MySQL权限查询结果贴出来,这样更容易定位具体问题。

内容的提问来源于stack exchange,提问作者Jen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 10:18:47