Mysql 如何减少MediaWiki的大小';文本';桌子

Mysql 如何减少MediaWiki的大小';文本';桌子,mysql,mediawiki,Mysql,Mediawiki,我管理一个小型MediaWiki wiki,最近它受到了大量垃圾邮件的攻击。我已经删除了所有的垃圾邮件帐户和页面,并且,感谢在提供的帮助,我已经能够清除wiki数据库中的“存档”表,这样它就不会充满我删除的所有垃圾邮件页面 不过,相对于维基的实际大小,数据库仍然庞大。“文本”表的运行速度为2.7GB,“搜索索引”表的运行速度为302.9MB。减少这些表(尤其是“文本”表)的大小的最佳方法是什么?如果有必要的话,我愿意导出wiki中所有面向公众的部分,并将它们导入到一个干净的安装中。我通过优化有问

我管理一个小型MediaWiki wiki,最近它受到了大量垃圾邮件的攻击。我已经删除了所有的垃圾邮件帐户和页面,并且,感谢在提供的帮助,我已经能够清除wiki数据库中的“存档”表,这样它就不会充满我删除的所有垃圾邮件页面


不过,相对于维基的实际大小,数据库仍然庞大。“文本”表的运行速度为2.7GB,“搜索索引”表的运行速度为302.9MB。减少这些表(尤其是“文本”表)的大小的最佳方法是什么?如果有必要的话,我愿意导出wiki中所有面向公众的部分,并将它们导入到一个干净的安装中。

我通过优化有问题的表解决了这个问题(至少在实践中是这样)。这将其大小减少到200到300 MB之间。考虑到维基中存在的数据量,这看起来还是很大的,但至少它是可管理的。

只要运行。

不了解MediaWiki,我的第一个想法是首先确定为什么数据库如此庞大。至少如果你确定它不应该那么大的话……谢谢,这就是我一直想做的:它提供了大部分的膨胀,不,它不应该那么大。我已经尽了我所能去弄清楚发生了什么,所以我在这里发布:)那张表的模式是什么?是否有允许大量数据的字段?如果是,原因可能在该(那些)字段中。如果否,答案只能是记录数。很抱歉没有给出更准确的答案,但试图提供帮助:-)你完全正确,当然-我认为问题可能在于一旦页面从wiki(面向公众的部分)删除,MW如何(或是否)从数据库中删除数据:我从wiki中删除了大量内容,但这并没有从“文本”表中删除任何内容。我不确定MW是如何做到这些的,但如果我知道的话,我想我能够解决这个问题:)这是一个常见的用法,不在物理上删除记录,而是在逻辑上删除记录,使用一个标志字段(真/假),甚至是一个带有抑制日期的字段(被视为活动的记录是此字段为空)。你有多少张唱片?这样的扩展会有帮助吗?再次抱歉,我甚至不知道mediawiki是什么:-)