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

EC2上WordPress部署时无法连接Amazon RDS数据库求助

排查WordPress连接Amazon RDS MySQL的"Error establishing a database connection"问题

别着急,我处理过不少这类场景,咱们一步步拆解排查,先把核心问题定位清楚:

第一步:先验证EC2到RDS的基础连通性

这是最关键的一步,先排除WordPress本身的问题,直接在EC2实例上用MySQL客户端测试连接:

mysql -h <你的RDS实例端点> -u <数据库用户名> -p

输入密码后,如果连不上,那问题出在网络/数据库权限层面;如果能连上,那就是WordPress的配置问题。

如果EC2连不上RDS,再查这些点:

  • RDS实例的公有可访问性:去RDS控制台看实例详情,确认“公有可访问性”设置为“是”(如果EC2在公网,或者和RDS不在同一个VPC的话);如果EC2和RDS在同一个VPC,这个设为“否”也能连,但要确保子网路由没问题。
  • 数据库用户的授权范围:RDS默认创建的用户可能只允许特定IP访问?登录到RDS(如果能通过其他方式连的话),执行授权命令:
    GRANT ALL PRIVILEGES ON <你的WordPress数据库名>.* TO '<你的数据库用户名>'@'%' IDENTIFIED BY '<你的密码>';
    FLUSH PRIVILEGES;
    
    这里的%允许任何IP访问,也可以指定EC2实例的公网/内网IP,更安全。
  • EC2安全组的出站规则:别只盯着RDS的入站,EC2的安全组要允许出站到3306端口(MySQL默认端口),或者到RDS实例的自定义端口。
  • VPC网络配置:如果EC2和RDS不在同一个VPC,需要配置VPC对等连接,或者确保RDS的子网能被EC2访问到。

第二步:如果EC2能连上RDS,查WordPress配置

  • 确认数据库信息完全正确:检查你在WordPress安装页输入的数据库名、用户名、密码、主机地址(RDS完整端点,比如mydb.cxxxx.us-east-1.rds.amazonaws.com)有没有打错,尤其是端点的拼写,很容易写错。
  • 检查端口号:如果RDS实例没有用默认的3306端口,要在主机地址后面加上端口,比如mydb.cxxxx.us-east-1.rds.amazonaws.com:3307。
  • 查看wp-config.php(如果已生成):安装过程中生成的wp-config.php文件里,确认DB_HOST、DB_NAME、DB_USER、DB_PASSWORD这几个参数和你输入的一致,有没有空格或者特殊字符。

第三步:其他可能的排查点

  • RDS实例状态:去RDS控制台确认实例状态是“available”,有没有处于维护、备份或者重启状态。
  • 数据库是否存在:RDS默认不会自动创建数据库,你需要手动登录到RDS,创建WordPress要用的数据库,比如:
    CREATE DATABASE wordpress_db;
    
  • RDS参数组设置:检查参数组里的max_connections是不是足够,有没有限制远程连接的参数(RDS默认已配置好,但偶尔会有自定义参数组的异常情况)。

按这个顺序排查,应该能找到问题所在。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 12:07:35