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

Laravel 5.5部署CentOS7后执行php artisan migrate遇SQL错误求助

解决Laravel 5.5执行php artisan migrate时的SQLSTATE[HY000] [2054]错误

我之前在CentOS7部署Laravel项目时也碰到过一模一样的2054错误,这个问题几乎都是MySQL版本与Laravel默认认证规则不兼容导致的,给你一步步拆解解决办法:

先确认问题根源

首先执行这条命令查看你的MySQL版本:

mysql --version

如果输出是MySQL 8.0及以上,那问题就找到了——MySQL 8.0默认使用caching_sha2_password加密认证,而Laravel 5.5默认只支持mysql_native_password,两者不匹配就会抛出这个连接错误。

解决方案一:修改MySQL用户的加密规则(最直接有效)

  1. 登录MySQL控制台:
mysql -u root -p

输入你的root密码(也就是你.env里的testpass)进入。

  1. 修改root用户的认证规则为mysql_native_password:
ALTER USER 'root'@'127.0.0.1' IDENTIFIED WITH mysql_native_password BY 'testpass';

注意把testpass替换成你实际的数据库密码。

  1. 刷新MySQL权限:
FLUSH PRIVILEGES;

退出MySQL控制台,再重新执行迁移命令:

php artisan migrate

其他可能的排查点

如果上面的方法没解决,再检查这几个地方:

  • 确认MySQL服务是否在运行:
systemctl status mysqld

如果显示未运行,启动服务:

systemctl start mysqld
  • 清理Laravel配置缓存(有时候.env修改后没生效):
php artisan config:clear
  • 确认数据库event确实已经创建成功,可以登录MySQL后执行SHOW DATABASES;查看。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:35:09