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

Laravel 8搭配Sail执行migrate等数据库操作出现SQLSTATE[HY000][2002]错误

Laravel Sail 数据库操作报错解决方案
  • 修正 .env 中的数据库主机配置:将 DB_HOST 的值改为 mysql(Sail 默认 MySQL 服务的容器通信名称,Docker 会自动完成服务名到对应数据库容器IP的解析)。你之前填写 localhost/127.0.0.1 均指向 Laravel 应用容器本身,应用容器内没有运行 MySQL 服务,因此会触发连接报错。

    若你使用 Sail 配置的是 PostgreSQL 数据库,将 DB_HOST 改为 pgsql 即可,其他类型数据库对应 docker-compose.yml 中定义的数据库服务名称修改即可。

  • 确认 .env 中以下参数和 docker-compose.yml 里 mysql 服务的配置完全一致:
    • DB_DATABASE
    • DB_USERNAME
    • DB_PASSWORD
  • 修改完成后执行命令清除配置缓存:sail artisan config:clear
  • 执行命令重启 Sail 服务让配置生效:sail restart
  • 重启完成后重新执行迁移命令测试:sail migrate

补充说明:只有当你在宿主机使用本地数据库管理工具连接 Sail 内的数据库时,才需要使用 127.0.0.1 + 映射端口(默认3306)访问,容器内的应用访问数据库必须使用服务名。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 10:36:03