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

Laravel 5.2 + RDS MySQL 8.0 连接报错SQLSTATE[HY000] [2002]求助

解决Laravel 5.2 + PHP 5.6连接RDS MySQL 8.0的SQLSTATE[HY000] [2002]错误

针对你遇到的情况,以下是旧版Laravel+AWS RDS环境下升级MySQL 8.0后常见的排查和解决步骤:

1. 验证EC2到RDS的基础连通性

先排除网络层面的问题:

  • 在EC2实例上执行命令行连接测试:
    mysql -h <你的RDS端点> -u <数据库用户名> -p
    
    如果命令行也连不上,检查:
    • RDS安全组是否允许EC2实例的私有IP访问3306端口(虽然之前5.7正常,但升级后参数组或安全组可能被误改)
    • RDS实例的状态是否为「可用」,有没有重启后未完全就绪的情况

如果命令行能连上,但Laravel不行,问题出在PHP扩展或Laravel配置上。

2. 升级PHP的MySQL扩展

PHP 5.6默认的mysqlnd/mysqli版本可能不兼容MySQL 8.0,即使使用mysql_native_password认证也会出现连接失败:

  • 在AWS Linux 1(Amazon Linux AMI)上,执行以下命令更新扩展:
    sudo yum update php-mysqlnd
    
    安装完成后重启Web服务:
    # Apache环境
    sudo service httpd restart
    # PHP-FPM环境
    sudo service php-fpm restart
    

3. 调整Laravel数据库配置的SSL参数

MySQL 8.0默认强制要求SSL连接(部分RDS参数组默认开启require_secure_transport),而Laravel 5.2的默认配置未启用SSL:

  • 在config/database.php的mysql配置数组中添加SSL相关选项:
    'mysql' => [
        'driver' => 'mysql',
        'host' => env('DB_HOST', 'localhost'),
        'database' => env('DB_DATABASE', 'forge'),
        'username' => env('DB_USERNAME', 'forge'),
        'password' => env('DB_PASSWORD', ''),
        'charset' => 'utf8mb4',
        'collation' => 'utf8mb4_unicode_ci',
        'prefix' => '',
        'strict' => false,
        'engine' => null,
        // 添加SSL配置
        'options' => [
            PDO::MYSQL_ATTR_SSL_CA => '/etc/pki/tls/certs/rds-ca-2019-root.pem',
        ],
    ],
    
  • 先在EC2上下载RDS的CA证书:
    sudo wget -O /etc/pki/tls/certs/rds-ca-2019-root.pem https://s3.amazonaws.com/rds-downloads/rds-ca-2019-root.pem
    

4. 检查PHP的open_basedir限制

如果EC2的PHP配置中启用了open_basedir,需要确保证书文件路径在允许访问的目录范围内:

  • 编辑PHP配置文件(如/etc/php.ini),找到open_basedir行,添加证书所在目录:
    open_basedir = /var/www/html:/tmp:/etc/pki/tls/certs
    
    重启Web服务生效。

5. 确认RDS参数组的关键设置

除了认证插件,检查以下参数:

  • default_authentication_plugin:确保设置为mysql_native_password
  • require_secure_transport:如果之前手动关闭过,确认升级后是否被重置为ON(若暂时关闭此参数,可跳过SSL配置测试连接)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 21:32:58