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

Docker部署Laravel 8执行php artisan migrate报2002连接拒绝错误

解决步骤

  • 确认命令执行环境
    不要在宿主机本地直接执行php artisan migrate,宿主机无法解析Docker内部的mysql服务域名,正确执行方式为:
    docker-compose exec app php artisan migrate
    
  • 清理Laravel配置缓存
    如果之前生成过配置缓存,修改后的.env参数不会生效,先执行清理:
    docker-compose exec app php artisan config:clear
    
  • 验证容器网络连通性
    进入app容器测试和mysql容器的网络连通性:
    docker-compose exec app nc -zv mysql 3306
    
    若返回连接成功说明网络正常,否则检查docker-compose.yml中app和mysql服务是否都加入了mynetwork网络。
  • 检查数据库用户权限
    登录phpmyadmin后执行SQL给laravel用户赋权,避免权限不足导致迁移失败:
    GRANT ALL ON laraveldb.* TO 'laravel'@'%';
    FLUSH PRIVILEGES;
    
  • 适配Mariadb配置
    在.env文件中添加以下配置,避免数据库驱动兼容问题:
    DB_UNIX_SOCKET=null
    
    同时打开config/database.php,将mysql连接的strict参数设置为false,关闭严格SQL模式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 01:06:03