WordPress 2.9 数据库清理

WordPress是一个十分强大的个人博客系统,所有博客的设置和插件定义都保存在wp_options这个表中,时间长了,来自于皮肤、插件的设置就会使这个表显得臃肿不堪,比较倒霉的是,大部分的皮肤和插件作者并不会在插件被删除时清理那些定义,这部分清理目前只能靠手工完成。

在Wordpress2.9之前,我们有一个十分简单的清理方式:清空wp_options这个表即可。

但之前升级至WordPress 2.9的一些感受中也说了,Wordpress 2.9之后的版本这样做将会使你的博客彻底报废,陷入永远修复的死循环中。

于是,我开始琢磨新的方法。由于Wordpress的数据表内容十分的乱,无法通过表内的数据分析出那些是系统本身的,所以大致思路还是清空wp_options重建,只不过要绕一些弯路罢了。

通过实验,我找到了一个比较简单的方法,不需要导出备份即可清理(当然,小A还是十分建议您备份的)。

PS:以下操作实际总共仅需1分钟即可,由于涉及到数据操作和可能预见的安全性问题,所以我尽可能的将步骤写的详细,大家请耐心读完。

第一步,在根目录下建立一个index.html文件

,写上如下的内容:

1
2
3
4
5
6
7
8
9
10
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=GBK" />
  <title>升级通知--aの碎碎念[http://www.alexblair.org]</title>
</head>
<body>
  <h1>博客升级中,请稍后访问</h1>
  <br />
</body>
</html>

这样做的好处之后你就会知道了

第二步,重命名index.php

这步很关键,因为在数据库被初始化的时候,任何访问的人都可以拿到admin权限,把这个文件改为别人猜不到的名字即可,比如gcygryoxzuyreinreufhreissuhfrixfm8rue.php。注意:文件名中不能有符号,除了最后的.

第三步,关闭所有的插件

然后将现有皮肤切换为默认的WordPress Default。别担心难看,做完前两步后,别人目前是看不到你的博客的。

第四步,批量修改数据表前缀

这步十分关键,请特别留意。

打开任何一个你顺手的SQL工具,把目前的所有表前缀都替换,比如alexblair的表前缀是wp_,那么就修改为wp_bak_依次类推。

第五步,激活初始化功能

还记得之前被重命名的文件么,输入它的地址,例如Aの碎碎念博客就这样输入:

1
http://www.alexblair.org/gcygryoxzuyreinreufhreissuhfrixfm8rue.php

这时候,是不是出现熟悉的初始化界面了?和新的博客一样输入名字和邮箱地址,这时候它会给你一个admin的帐号和密码。(这回明白我之前要求改名字的原因了把)不要管他,停留在这个页面。

第六步,使用新的表单

回到刚才的SQL工具,刷新一下,是不是出现了一大堆的表,留下wp_options,保留之前自己改过名字的表,其他wp_前缀的表都删除。

然后将之前改过名的表,名字都改回来

第七步,完成

经过上面的一番折腾,剩下的就是扫尾工作了,现在你可以用原来的帐号和密码登入后台,激活之前关闭的插件和皮肤。然后将刚才被改名文件改回index.php

最后确认没有问题了,就可以删除index.html收工了。

最后,小A还是希望大家都看完了全文再进行操作,当然了,对于数据库操作的新手,还是希望做好事前的备份工作。如果期间遇到任何的问题,欢迎回复交流。

Related posts

《WordPress 2.9 数据库清理》有4个想法

发表评论