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

Laravel连接Azure MySQL执行migrate报错SQLSTATE[HY000] [2002]求助

解决Laravel连接Azure MySQL时php artisan migrate报错的问题

以下是针对你的问题的具体排查和解决步骤:

  • 清除配置缓存
    Laravel会缓存配置文件,如果你修改了.env或数据库配置但未清除缓存,migrate命令可能仍在使用旧配置。执行以下命令清除缓存:

    php artisan config:clear
    php artisan cache:clear
    

    之后再尝试运行php artisan migrate。

  • 完善数据库配置文件的SSL参数
    打开config/database.php,确保MySQL连接的SSL配置完整且正确,特别是添加服务器证书验证关闭参数(Azure MySQL环境下常需要此设置):

    'mysql' => [
        'driver' => 'mysql',
        'host' => env('DB_HOST'),
        'port' => env('DB_PORT'),
        'database' => env('DB_DATABASE'),
        'username' => env('DB_USERNAME'),
        'password' => env('DB_PASSWORD'),
        'unix_socket' => env('DB_SOCKET', ''),
        'charset' => 'utf8mb4',
        'collation' => 'utf8mb4_unicode_ci',
        'prefix' => '',
        'prefix_indexes' => true,
        'strict' => true,
        'engine' => null,
        'options' => extension_loaded('pdo_mysql') ? array_filter([
            PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
            // 关闭服务器证书验证,适配Azure MySQL环境
            PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT => false,
        ]) : [],
    ],
    

    保存后再次尝试迁移命令。

  • 验证容器内SSL证书的路径与权限
    确保Docker容器内的SSL CA证书路径正确,且Laravel运行用户拥有读取权限。执行以下命令检查:

    # 替换为你的证书实际路径
    ls -l /path/to/your/DigiCertGlobalRootCA.crt.pem
    

    如果文件不存在,检查挂载或复制证书的步骤是否正确;如果权限不足,执行:

    chmod 644 /path/to/your/DigiCertGlobalRootCA.crt.pem
    
  • 显式指定数据库连接执行迁移
    如果你的应用配置了多个数据库连接,可能migrate默认使用了错误的连接,显式指定连接:

    php artisan migrate --database=mysql
    
  • 排查PDO连接的实际参数
    临时在app/Providers/AppServiceProvider.php的boot方法中添加代码,查看迁移时PDO的实际连接参数:

    use Illuminate\Support\Facades\DB;
    
    public function boot()
    {
        DB::listen(function ($query) {
            $config = $query->connection->getConfig();
            dd('PDO Options:', $config['options']);
        });
    }
    

    执行php artisan migrate,查看输出的SSL参数是否与你配置的一致,以此确认参数是否正确传递到PDO连接中。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 19:12:13