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

使用MAMP服务器运行Laravel时执行php artisan migrate报错如何解决?

问题原因及解决步骤

你遇到的1045鉴权失败报错是MAMP环境部署Laravel的常见问题,按以下步骤排查即可解决:

  1. 修正.env文件配置错误
    • MAMP默认MySQL端口为8889,你当前配置的3306是系统默认MySQL端口,不属于MAMP的MySQL服务,将DB_PORT值改为8889(可打开MAMP偏好设置-端口页确认实际MySQL端口)
    • 删除DB_USERNAME和DB_PASSWORD值两侧的双引号,Laravel读取.env文件时会将引号识别为值的一部分,导致鉴权时用户名密码不匹配,修改后配置如下:
      DB_USERNAME=root
      DB_PASSWORD=temp
      
    • 多余的UNIX_SOCKET配置项可以删除,database.php中已指定读取DB_SOCKET参数,不会影响连接。
  2. 清空Laravel配置缓存
    如果你之前执行过php artisan config:cache生成过配置缓存,修改.env文件不会直接生效,执行以下命令清除缓存:
    php artisan config:clear
    
    本地开发阶段不建议使用配置缓存,避免修改配置后不生效的问题。
  3. 确认数据库已创建
    登录MAMP自带的phpMyAdmin,确认已经提前创建了名为laravel的空数据库,建议字符集设置为utf8mb4,排序规则设置为utf8mb4_unicode_ci,和Laravel默认配置匹配。
  4. 测试连接并执行迁移
    先执行以下命令测试数据库连接是否正常:
    php artisan tinker
    # 进入tinker交互界面后输入
    DB::connection()->getPdo();
    
    如果没有抛出异常即代表连接成功,退出tinker后再执行php artisan migrate即可完成表迁移。

补充说明:如果你需要MAMP的MySQL使用3306端口,可以进入MAMP偏好设置-端口页面修改MySQL端口为3306,修改后需要重启MAMP服务生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 04:27:03