Board logo

Subject: [PMA] Discuz! info: MySQL Query Error Errno.: 145 (Discuz!7.0论坛登录报错) [Print]

Author: 我爱崔颖    Time: 4 Days Ago  10:35     Subject: Discuz! info: MySQL Query Error Errno.: 145 (Discuz!7.0论坛登录报错)

一、问题情况 在登录秀场曝料论坛时,提示这个错误Discuz! info: MySQL Query Error Time: 2026-4-28 9:26amScript: /forum/logging.php SQL: SELECT count, lastupdate FROM [Table]failedlogins WHERE ip='183.63.119.21'Error: Table './showstorybbs/[Table]failedlogins' is marked as crashed and should be repaired Errno.: 145 Similar error report has been dispatched to administrator before. 到 [url]http://faq.comsenz.com[/url] 搜索此错误的解决方案 二、问题分析: 这是数据库错误,不是 Discuz 7.0 论坛程序本身坏了。 关键报错是这一句: Table './showstorybbs/[Table]failedlogins' is marked as crashed and should be repairedErrno.: 145 意思是: failedlogins 这张 MySQL 表损坏了,需要修复。 它通常是 MyISAM 表崩溃,常见于老 Discuz、服务器异常断电、MySQL 非正常关闭、磁盘空间不足等。 为什么会这样 常见原因: 服务器异常断电、MySQL崩溃、磁盘问题、老Discuz + MyISAM(很容易坏) 三、解决方案 先做这个:修复表 进入 phpMyAdmin,选择数据库 showstorybbs,找到类似: cdb_failedlogins 或者 pre_failedlogins 的数据表 如有的话,比如数据表名为 sscdb_failedlogins 下面就可以修复该表。 点击上面“SQL” 然后输入: FLUSH TABLES;REPAIR TABLE sscdb_failedlogins; 点执行 Go 。 如果报错(很常见) 再执行这个: REPAIR TABLE sscdb_failedlogins QUICK; 如果还不行: REPAIR TABLE sscdb_failedlogins EXTENDED;现在可以检查下该表是否搞好了 在 SQL 再跑一条:CHECK TABLE sscdb_failedlogins; 如果返回 OK,就完全没问题 如果还是不行(最后手段) 这个表其实是 登录失败记录表(不重要数据) 可以直接删表: DROP TABLE sscdb_failedlogins; 删完后 刷新论坛,Discuz 通常会自动重建该表,或直接不再报错 按照如上方案,问题解决了。




Welvome EQ中文世纪地图集论坛 (http://www.ceqmap.com/bbs/) Powered by Discuz! 7.0.0