升级完成wordpress到wpmu 1.5.1, 删除spam用户


升级完成wordpress到wpmu 1.5.1, 删除spam用户

Published on Mon 14 Jul 2008 11:07 ( 1 year, 8 months ago)
Blog on blog

升级完成了,似乎没出现什么问题,如果发现问题这几天再修复。

一些无聊的家伙利用wordpress漏洞大量注册一些空的用户,导致mysql内充满了垃圾,并且由于mysql的垃圾表太多导致一些wordpress操作失败,出现某些错误,例如回复的时候变成了白屏,我用live writer发表的时候xmlrpc出错等。

要清理数据发现wpmu的数据库做法是每个用户创建一堆表,删除很不方便,只好通过脚本来清理那几千个垃圾用户的表。 wpmu的这个设计我很不欣赏。

参考了月光的脚本:http://www.williamlong.info/archives/1215.html 我简化修改为了以下的代码,注意我是硬编码的,我事先查询了wp_blogs表,决定删除blog_id从86到2149的表。月光的代码更通用些,但查询数据库太多,我的mysql上运行很慢还出错。

<?php
for ($blogid = 86; $blogid < 2150; $blogid++) {
print "DROP TABLE IF EXISTS wp_".$blogid."_comments;";
print "DROP TABLE IF EXISTS wp_".$blogid."_links ;";
print "DROP TABLE IF EXISTS wp_".$blogid."_options ;";
print "DROP TABLE IF EXISTS wp_".$blogid."_postmeta ;";
print "DROP TABLE IF EXISTS wp_".$blogid."_posts ;";
print "DROP TABLE IF EXISTS wp_".$blogid."_terms ;";
print "DROP TABLE IF EXISTS wp_".$blogid."_term_relationships ;";
print "DROP TABLE IF EXISTS wp_".$blogid."_term_taxonomy ;";
} ?>

这个脚本产生mysql 脚本(e.g.  php delwptable.php > deltabs.sql),用mysql的source 命令执行产生的脚本可以删除那些垃圾表。当然最后还得手工删除主表中的垃圾数据。

升级参考了我自己过去升级到1.3的办法:

http://dev.robertmao.com/2007/12/25/upgrade-wpmu-to-version-13/

和这篇:

http://ocaoimh.ie/2008/05/12/wordpress-mu-151/

注意要在wp-config.php中添加两行新的东西,如果不添加在登陆到wp-admin的时候会给出警告。

define('SECRET_KEY', 'r5bWN)@4vHTAIHsyqzUDsI^n');
define('SECRET_SALT', 'NZxMyH@56M%WxpTfdhA4C7KO');

用livewriter发表文章的时候报告一个错误,还需要研究怎么回事。


Related posts:


Search related in web:

Custom Search

RSS Feed

One click subscribe this blog in your google reader!

Be social!


Want to say something here? please sign in



Blog posts link to this page
What are friends tweeting?
Tags cloud
Monthly Archives