Linux环境下Laravel数据库迁移失败可按以下步骤排查解决:
检查数据库配置
确保.env
文件中数据库类型、主机、端口、名称、用户名、密码正确,且数据库服务已启动。
# 清除配置缓存
php artisan config:cache
验证数据库权限
确认数据库用户有创建/修改表结构的权限,可通过数据库管理工具(如MySQL Workbench)手动测试连接和权限。
-- 示例:授予权限(需根据实际数据库调整)
GRANT ALL PRIVILEGES ON your_database.* TO 'your_user'@'localhost';
FLUSH PRIVILEGES;
处理迁移文件问题
php artisan migrate:fresh
(谨慎使用,会删除所有表)或php artisan migrate:refresh
重置迁移。排查依赖与环境问题
php-mysql
),可通过php -m
查看已安装模块。查看错误日志
通过storage/logs/laravel.log
或命令行输出定位具体错误,如语法错误、权限不足等。
示例命令:
# 重置迁移(谨慎使用,会清除所有数据)
php artisan migrate:fresh
# 仅回滚并重新执行迁移
php artisan migrate:rollback && php artisan migrate
# 查看迁移状态
php artisan migrate:status
若问题仍未解决,可参考Laravel官方文档或社区论坛(如Stack Overflow)获取更详细帮助。