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

Laravel Ubuntu数据库迁移遇SQLSTATE[HY000][2002]错误求助

解决Linux环境下Laravel数据库迁移SQLSTATE[HY000] [2002]错误
  • 检查MySQL套接字路径
    Linux下XAMPP的MySQL套接字默认路径是/opt/lampp/var/mysql/mysql.sock,Laravel默认无法识别这个路径,需要手动指定:
    在项目根目录的.env文件中添加:

    DB_SOCKET=/opt/lampp/var/mysql/mysql.sock
    

    或者修改config/database.php中mysql配置块,补充socket项:

    'mysql' => [
        'driver' => 'mysql',
        'host' => env('DB_HOST', '127.0.0.1'),
        'port' => env('DB_PORT', '3306'),
        'database' => env('DB_DATABASE', 'forge'),
        'username' => env('DB_USERNAME', 'forge'),
        'password' => env('DB_PASSWORD', ''),
        'unix_socket' => env('DB_SOCKET', '/opt/lampp/var/mysql/mysql.sock'),
        // 其他默认配置...
    ],
    
  • 确认MySQL服务可用性
    即使XAMPP面板显示运行,仍需手动验证:执行/opt/lampp/bin/mysql -u root -p,输入密码后看能否正常登录数据库。若登录失败,执行sudo /opt/lampp restart mysql重启MySQL服务。

  • 确保PHP扩展正确启用
    打开XAMPP的PHP配置文件/opt/lampp/etc/php.ini,找到pdo_mysql扩展行,确保分号已删除:

    extension=pdo_mysql
    

    修改后执行sudo /opt/lampp restart apache重启Apache服务。

  • 清理配置缓存
    除了清除应用缓存,还需清理配置缓存:

    php artisan config:clear
    php artisan cache:clear
    
  • 核对数据库连接信息
    确认.env文件中的DB_DATABASE、DB_USERNAME、DB_PASSWORD与phpMyAdmin中创建的数据库信息完全一致,注意Linux环境下数据库名称区分大小写。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 07:18:12