清理Wordpress数据库
打着学习PHP和MySQL的幌子,用Wordpress搭建了自己的博客,玩了快一年了。PHP几乎没学到什么,偶尔用几个函数,也是在看了别人的文章之后,照猫画虎地小打小闹。唯一折腾的比较多的,就是CSS了,说是换主题,其实就是把CSS翻来覆去地修改几下。
今天不知道哪根筋搭错了,随手点到MySQL的管理后台PHPMyAdmin去了,总觉得这些数据表乱七八糟的,稀奇古怪的,仗着自己学过的一点点关系数据库的基础知识,也没备份数据库,就对有些看着不爽的表动手了,删掉了很多东西。
比如wp_postmeta表,就被我整个清空了,这样postview插件定义的每篇文章的访问数都被清零了。不过这个表里面,除了meta_key的值为views的记录之外,还有两个很奇怪的值_edit_lock和_edit_last,清空之后才想起这个东西会不会有用,Google一下,没找到有用的信息,只有来自冰锁的这篇文章说这两个值很重要,不能删除。可是我已经全部清空了,怎么办?谁来告诉我这两个值到底是什么意思?
刚好冰锁的文章中也提到了数据库清理的一些操作技巧,那么就再一次照猫画虎好了。主要有这样几个步骤的操作:
1、备份数据库(这一条我几乎从来没做过)。
2、对wp_options数据库,可删除所有option_name字段值为rss_*的记录,然后点表的“结构”,下面“已使用空间”表格中有“优化表”的选项,点一下即可(优化表的操作可以对所有表都是用一次)。
3、对wp_postmeta表,原作者建议只保留meta_key 里面的值为views、_edit_lock、_edit_last、related_posts的数据,他使用了post views所以有views,还有 related_posts。原作者建议至少_edit_lock,_edit_last要保留(这一点我不知道为什么)。
4、对wp_post表,据说wordpress现在会把你修订过的历史版本也都放在数据库里,这对大部分人来说应该是画蛇添足。如果要把历史修订版本删掉,原作者推荐了一些插件。另一位同学也有一些不错的建议。
5、还有些是以前安装的插件所残留下的表,某些表里面也可能会有一些残留的字段,酌情删除就可以了。
Wordpress默认情况下一共只有10个表:wp_comments、wp_links、wp_options、wp_postmeta、wp_posts、wp_term_relationships、wp_term_taxonomy、wp_terms、wp_usermeta、wp_users,除了上文提到的几张表外,其他的表一般不会有太多的无用信息。Wordpress 2.3及其之后的版本中,多了wp_term、wp_term_taxonomy、wp_term_relationships三个表,这些表中包含了对分类、链接分类和标签的管理,内容和关系比较复杂,不建议改动。
最后再次提醒,操作前最好先备份一下数据库。







2009年04月1日 11:24 下午
哈哈,顺着我的后台来到你这儿。
你最好装一个Wordpress Download Monitor的插件。可以定期自动备份数据库,还可以把备份发到你邮箱里。其它的功能,诸如执行sql语名,优化表啥的都有。
mercy:谢谢推荐。
[回复]
2009年08月19日 10:15 上午
我也优化去……闪了
mercy:记得备份先。
[回复]