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

Laravel图书管理项目报错:Base table or view not found及php artisan命令异常

解决Laravel项目「Base table or view not found: 1932」错误及数据库排序规则异常问题

一、排查MySQL数据库本身故障

1932错误大多源于数据库表损坏、引擎异常或文件权限问题:

  • 重启MySQL服务
    Windows系统执行:
    net stop mysql && net start mysql
    
    Linux系统执行:
    sudo systemctl restart mysql
    
  • 检查并修复损坏表
    登录MySQL命令行:
    mysql -u root -p
    
    切换到项目数据库:
    USE your_laravel_db;
    
    检查目标表完整性:
    CHECK TABLE `users`, `books`; -- 替换为你项目的核心表名,或用mysqlcheck工具批量检查
    
    若发现损坏表,执行修复:
    REPAIR TABLE corrupted_table_name;
    
    注:如果是InnoDB表损坏,需先在MySQL配置文件(my.cnf/my.ini)添加innodb_force_recovery=1,重启MySQL后再修复,修复完成后移除该配置
  • 修正数据库文件权限
    Linux下确保MySQL数据目录(默认/var/lib/mysql)权限为mysql:mysql:
    sudo chown -R mysql:mysql /var/lib/mysql
    sudo chmod -R 755 /var/lib/mysql
    
    Windows下检查MySQL安装目录的data文件夹是否给当前用户分配读写权限。

二、清理Laravel配置缓存

你执行config:cache后缓存了错误配置,导致所有artisan命令无法正常连接数据库:

  • 手动删除缓存文件:找到项目目录下的bootstrap/cache/config.php,直接删除该文件
  • 确认.env文件中的数据库配置准确:
    DB_CONNECTION=mysql
    DB_HOST=127.0.0.1
    DB_PORT=3306
    DB_DATABASE=your_laravel_db
    DB_USERNAME=root
    DB_PASSWORD=your_password
    
  • 此时尝试执行php artisan migrate:status,验证数据库连接是否恢复正常。

三、修复phpMyAdmin排序规则异常

  • 登录phpMyAdmin,选择项目数据库,点击「操作」选项卡
  • 修改数据库排序规则为Laravel推荐的utf8mb4_unicode_ci,执行SQL:
    ALTER DATABASE your_laravel_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    
  • 若表排序规则不一致,可批量修改:在「结构」选项卡选中所有表,选择「更改表排序规则」,选择utf8mb4_unicode_ci后执行。

四、重新执行迁移

当数据库连接正常、表结构无损坏后,执行:

php artisan migrate:fresh

如果仍报错,检查迁移文件是否存在语法错误,或是否有迁移文件提前引用了未创建的表

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 19:55:18