WordPress ECS不能选择数据库?

云计算

WordPress ECS无法选择数据库的解决方案

核心结论

如果WordPress在ECS上无法选择数据库,通常是由于数据库配置错误、权限不足或网络连接问题导致。以下是具体排查和解决方法:


常见原因及解决方案

1. 数据库配置错误

  • 检查wp-config.php文件:确保以下信息正确:

    define('DB_NAME', '数据库名');
    define('DB_USER', '用户名');
    define('DB_PASSWORD', '密码');
    define('DB_HOST', '数据库地址(如RDS内网地址)');
    • 重点DB_HOST需填写ECS与数据库联通的地址(如RDS内网Endpoint)。
  • 数据库名/用户不存在

    • 登录数据库(如MySQL),执行:
      SHOW DATABASES;  -- 确认数据库存在
      SHOW GRANTS FOR '用户名'@'主机'; -- 检查用户权限

2. 数据库权限问题

  • 用户未授权:确保数据库用户有权限访问目标数据库:

    GRANT ALL PRIVILEGES ON 数据库名.* TO '用户名'@'%' IDENTIFIED BY '密码';
    FLUSH PRIVILEGES;
    • 关键点@'%'允许所有IP访问,若需限制可改为ECS内网IP。
  • 防火墙/Security Group限制

    • 检查RDS或ECS的安全组规则,确保3306端口对ECS内网IP开放

3. 网络连接问题

  • ECS与数据库未互通

    • 如果使用阿里云RDS,确保ECS和RDS在同一VPC内。
    • 通过telnet 数据库地址 3306测试连通性。
  • DNS解析失败

    • DB_HOST为域名,尝试替换为内网IP。

4. WordPress安装阶段无法选择数据库

  • 手动创建数据库

    • WordPress安装时不会自动创建数据库,需提前在MySQL中创建:
      CREATE DATABASE wordpress_db;
      CREATE USER 'wp_user'@'%' IDENTIFIED BY '密码';
      GRANT ALL ON wordpress_db.* TO 'wp_user'@'%';
  • PHP扩展缺失

    • 确保ECS已安装php-mysqlnd扩展:
      yum install php-mysqlnd  # CentOS
      apt install php-mysql    # Ubuntu

快速排查流程

  1. 检查wp-config.php配置 → 修正错误参数。
  2. 测试数据库连接 → 使用mysql -h 地址 -u 用户 -p手动登录。
  3. 验证网络连通性telnetping数据库地址。
  4. 复查权限与安全组 → 确保用户有权访问且端口开放。

总结

WordPress无法选择数据库的核心问题通常集中在配置、权限或网络上。优先检查wp-config.php文件和安全组规则,确保ECS与数据库服务(如RDS)在同一内网环境并互通。若问题仍存在,可通过MySQL命令行直接测试连接,逐步缩小问题范围。

未经允许不得转载:CLOUD云枢 » WordPress ECS不能选择数据库?