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

Laravel Docker部署执行migrate报SQLSTATE[HY000] [2002]连接被拒绝

问题根因

你的错误来源于Docker容器内部网络端口的误用:

  • Docker Compose启动的多个容器默认走内部网桥网络互通,访问db服务时,直接使用db容器本身暴露的端口3306即可
  • 你配置的33069是端口映射后宿主机的访问端口,只有运行在宿主机上的工具(比如你用的PhpStorm)才能通过这个端口访问数据库,容器内部访问33069端口不存在,所以会报连接拒绝

解决步骤

  1. 修改项目根目录下的.env配置,将DB_PORT参数从33069改为3306:
DB_PORT=3306
  1. 进入users容器重新清除配置缓存:
    php artisan config:clear
  2. 重新执行迁移命令即可正常运行:
    php artisan migrate

补充说明

你docker-compose.yml中mysql服务的MYSQL_USER配置存在冗余:mysql镜像默认会创建root用户,额外设置MYSQL_USER: root会新建一个同名普通用户,容易和默认root用户的权限混淆,建议删除该环境变量配置即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 18:30:04