Moodle添加区块/插件后仅首页出现数据库错误的排查与修复求助
Moodle首页数据库读取错误排查与修复
问题背景
Moodle首页无法加载,显示错误:
Error
Error reading from database
后台可正常访问,已卸载近期安装的Global Chat插件但问题未解决。此前操作包括:在首页添加区块、Poll选项、安装Global Chat插件。
解决方案
a) 通过日志定位故障根源
- 进入管理后台,走「站点管理 > 报告 > 日志」路径,设置时间范围为故障前的时段,操作类型选「添加/更新/删除」类,筛选自己的管理员账号,排查近期对首页区块、Poll插件、Global Chat的操作记录,看是否有异常写入日志
- 若后台日志信息不够,直接看服务器上的Moodle错误日志:一般在
/var/log/apache2/或Moodle的moodledata/logs目录里,搜Error reading from database关键词,找到具体的数据库表或SQL报错信息,精准定位问题
b) 无法进首页时的修复操作
方法1:后台卸载残留插件/删除异常区块
- 进「站点管理 > 插件 > 插件管理」,找到Poll相关插件(不管是区块还是活动模块),点击卸载,之后去「站点管理 > 开发 > 清除缓存」清缓存,再试访问首页
- 若插件已卸载,去「站点管理 > 外观 > 区块 > 管理区块」,找到首页里近期添加的区块,直接删除
方法2:数据库强制处理(后台操作无效时)
- 登录Moodle对应的数据库(用phpMyAdmin或命令行)
- 查
mdl_plugins表,搜poll或chat关键词,找到对应插件记录,把enabled改成0,或者直接删这条记录 - 查
mdl_block_instances表,筛选pagepattern为site-index的条目,删掉近期添加的区块记录 - 操作完数据库后,要么后台清缓存,要么直接删
moodledata/cache下的所有文件
方法3:修复损坏的数据库表
- 在数据库里执行检查命令:
CHECK TABLE mdl_block_instances, mdl_poll, mdl_chat;(替换成实际涉及的表名) - 发现表损坏就执行修复:
REPAIR TABLE 表名; - 修复完成后清缓存,再访问首页
内容的提问来源于stack exchange,提问作者Compoot
相关产品推荐
相关产品推荐

