
Discuz论坛网站突然出现错误:
(144) Table ‘./sciedu_ss/common_syscache’ is marked as crashed and last (automatic?) repair failed
SELECT * FROM common_syscache WHERE cname IN(‘userapp’,’portalcategory’,’diytemplatenameportal’,’setting’,’style_default’,’cronnextrun’)
错误原因:
这个错误是 Discuz! 论坛程序(常见于 Discuz! X3.2/X3.4 等版本)的数据库报错,核心原因是服务器MySQL 数据库中名为 common_syscache 的表发生了损坏。
具体原因通常有以下几种:
- 表引擎故障:最常见的是 MyISAM 存储引擎的表,因服务器突然断电、MySQL 进程被强制杀死、磁盘空间不足或写入过程中断,导致索引文件和数据文件不一致,标记为
crashed。 - 自动修复失败:MySQL 在检测到表损坏后会尝试自动修复(
automatic repair),但如果损坏较严重(如索引结构被破坏),自动修复会失败,并报出你看到的错误。 - 服务器硬件/配置问题:内存条不稳定、磁盘坏道、MySQL 的
my.cnf配置不当(如tmp_table_size太小)也可能引发此类问题。 - 插件或升级异常:安装或卸载插件时 SQL 语句执行出错,或者 Discuz! 版本升级中途中断,可能导致缓存表结构损坏。
解决方法:
通过 phpMyAdmin 手动修复
- 登录你的网站主机控制面板(如 cPanel、宝塔面板等),找到 phpMyAdmin。
- 选择报错的数据库(通常是 Discuz! 对应的那个库)。
- 在左侧表列表中找到
common_syscache这张表。 - 勾选该表,在底部下拉菜单中选择 「修复表」 或 「Repair table」。
- 等待提示成功,刷新论坛首页即可。


