当前位置:首页 > php > discuz > 正文内容

Discuz数据库security_failedlog错误及修复

yangxin2年前 (2023-06-29)discuz318

解决方案:重建security_failedlog表

DROP TABLE IF EXISTS xf_security_failedlog;
 
CREATE TABLE xf_security_failedlog ( id int(11) NOT NULL
 
AUTO_INCREMENT, reporttype char(20) NOT NULL, tid int(10)
 
unsigned NOT NULL DEFAULT '0', pid int(10) unsigned NOT NULL
 
DEFAULT '0', uid int(10) unsigned NOT NULL DEFAULT '0',
 
failcount int(10) unsigned NOT NULL DEFAULT '0', createtime int
 
(10) unsigned NOT NULL DEFAULT '0', posttime int(10) unsigned
 
NOT NULL DEFAULT '0', delreason char(255) NOT NULL, scheduletime
 
int(10) unsigned NOT NULL DEFAULT '0', lastfailtime int(10)
 
unsigned NOT NULL DEFAULT '0', extra1 int(10) unsigned NOT NULL,
 
extra2 char(255) NOT NULL DEFAULT '0', PRIMARY KEY (id), KEY pid
 
(pid), KEY uid (uid) ) ENGINE=MYISAM DEFAULT CHARSET=gbk;

转载自:https://blog.csdn.net/u014175572/article/details/50205067

最近朋友的discuzX2.5的论坛老是出现"security_failedlog is marked as crashed and last(automatic?)repair failed"错误,看这个提示的意思是这个数据表坏了,并且无法修复失败。

既然是表坏了,那么我们手动修复一下应该就行了吧。

于是我按照网上提供的各种修复教程,尝试了一遍:

一、删除再新建security_failedlog表:

根据网上提供的教程操作了一遍,网站确实可以访问了,但是没过多久问题有出现。

discuz的云平台已经事实性无法使用了,在discuzX3.4中就已经完全移除了,那么discuzX2.5的云平台也是无法使用了。既然无法使用,那不如直接把云平台相关的插件给删掉好了。

防水墙插件属于系统级别的插件,在disucz后台是无法直接卸载的。想要卸载必须先对系统插件做降级处理。

二、降级并删除插件:

1、用phpmyadmin进入数据库找到pre_common_plugin 表,这个表基本上插件信息在里面

2、里面如下,然后找到【防水墙】,点击左侧的编辑。

3、找到并删除这段代码:s:6:"system",这段其实就是默认系统插件的代码,这就是网站后面无法删除的原因。

3、然后点执行-保存,系统插件降级完成

4、我们在网站后台,就可以看到,有卸载的操作按钮了。点击卸载,这个系统插件就完工了。

至于其他的disucz系统插件,也可以参照上面的方法进行卸载。

通过以上的方法,我们成功解决了discuz数据库security_failedlog错误。

此篇文章来自:https://www.aitiancheng.com/article-1563.html


分享给朋友:

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。