*重要*:任何数据库操作前,务必备份!
前言:WordPress从 v2.9起 从原有的10张表变成了11张表结构,新增的wp_commentmeta表很多人都不是很熟悉,如果查看一下可能会发现,该表在数据库中占用了很大的存储空间。而且所存多为冗余数据,诸如:akismet_result,akismet_history,akismet_as_submitted等。如下图:
首先,常规清理数据库:
- 清除已经存在的重复版本文章存档,参看我以前的文章here ;
- 可以在WP后台安装使用插件:WP-Cleanup 或 Clean Options plugin;
- 手动清理 wp_commentmeta ,方法:进入phpmyadmin 管理数据库,在SQL处执行下面两条语句(via 官方论坛);
Select * FROM wp_commentmeta WHERE comment_id NOT IN (SELECT comment_id FROM wp_comments); DELETE FROM wp_commentmeta WHERE comment_id NOT IN (SELECT comment_id FROM wp_comments);
至此,wp_commentmeta 表中的冗余项(除去了有用的记录)就被清除掉了,那到底这里面存的信息有什么用呢?能不能完全清空?且往下看!
—————–HzlzH分割线—————-
事实上,wp_commentmeta 表中数据是由 Akismet 插件生成的,这里也有调用 [WP Dashboard]->[Comments],见下图:

注:被博主从垃圾评论里面拉出来的评论会有这个红色区域的标记。点击之后,见下图:

———-以下操作不在本文建议范围内———–
现在清楚了,这里存着的信息是干什么事情用的,嘿嘿,是不是有想全部删除的冲动?
HzlzH执行了下面的SQL命令,整个世界清净了。
TRUNCATE TABLE `wp_commentmeta`
附 zlz.im 数据库清理后截图:(5.4MB to 4.2MB)
Done, Enjoy it!
*Important*:Backup before any step!



- Pingback on 2011/05/21/ 12:11
沙发!
@zwwooooo: 我是沙发中的沙发。呵呵。 我评论出不来。zww你告诉hz一下。
@wmtimes: 从spam 中拉出来三条你的评论,你的邮箱是不是被akismit给block 了?你在别的博客试试,如果被拉黑了,赶紧写email申请解封。
@HzlzH: 我终于付出水面了。应该是被akismit给block了。
@wmtimes: 申请解封也不是很难,保证书一般
囧,我的沙发呢?不会进spam了吧,哈哈。
我只整理过wp_options
@zwwooooo: 的确进了spam,我给拉出来鸟,清理下吧,那个表更冗余
@HzlzH: 貌似我的wp_commentmeta很小,1.2K,索引键7K,我的最大的是评论,13M……
@zwwooooo: 这么小,是不是用了非插件的垃圾审核?你评论真够多的,旺啊
@HzlzH: wilin的 + 是否有中文审核
有着用途啊,试试看去
瘦身成功 :D
wp_postmeta里的东西好像也没什么用吧?
@我不在乎: 不能全删,可以有选择的清除,这里存放了很多主题的自定义域,比如文章的缩略图或者Keywords等
恩,我很有清空它的冲动
能清理的话,还是最好清理一下,免得影响数据库。。
哎,数据库的东西我一直不敢动,怕删错。
@Firm: 备份好先就行啦。
@Firm: 没事做好备份,可以随意折腾。
学习一下,表示受用了。
支持下~感觉挺不错的..
还没有研究过wp的SQL
2MB了,先存着吧~
数据库不敢动啊,那玩意搞错了,容易出事。
哇~wp_commentmeta不知道怎么办时放狗搜到这里了,谢谢指教啊
@空空裤兜:呵呵不客气
比较小,就暂时不清理了
清理一下:)
我清理了下,少了1M
@Dianso: 恭喜恭喜,呵呵
我清理了下,少了1M
@拍拍网女装: 恭喜瘦身成功
比较小,就暂时不清理了
清理掉了320K,不错
@Simon: 恭喜又一位瘦身成功博主。
啊呀呀……试试&
我用的插件
对啊,这个很凡人,而且内容也多
我的评论也没有了?我的更大了。14M了现在都。
@wmtimes: 14M。。。。目前你最大,赶紧去清理吧,数据库真杯具。
@HzlzH: 不错。我还中了个头名。
把那里面的数据全部删除了嘛?
@wmtimes:
1,备份
2,果断删除
被WP折腾死的路过
过段时间就清理下数据库
我也用是的插件清理的!
这个占不了很大空间吧
@先看看: 有的时候还是很占用的,30%都没准。
我一般只插件,对于第二个还真没注意,看看去~
直接清空没问题吧。
wp_commentmeta 只有 10KB 左右的路过
@A.shun: 居然这么干净。。
wp_commentmeta达到13.2 MB,一句搞定~
@林木木: 不愧为垃圾留言受害大户。。
最简洁的方法,本地新建一个wordpress,然后导出wp_commentmeta表,再倒入到博客数据库中,OK

我就这样,数据库现在才500多Kb
@浩子: 最简单的还是备份之后直接清空,不是么?
还在用2.92的撸过~~~
凑个热闹,最近正在学习wp
见鬼,这个表我竟然有127MB,怪不得备份出来的数据库这么大。全部清空没事吗?
还有请问下博主,对图片装了什么插件,一点击就放大,不错。
2MB了,先存着吧~
wp_commentmeta这个表达到了700多K,果断删除。
发现好多的博主都说这张表有问题~我也清除了!