当前位置: > 站长相关 > 一些常见利用命令清理WordPress数据库的方法

一些常见利用命令清理WordPress数据库的方法

wordpress还是最流行的个人建站程序,使用过wordpress建站的朋友知道随着网站运营时间的增加,WordPress数据库也会变得越来越臃肿,从而造成网站打开的速度也变慢等等一些列问题,从而也诞生了不少数据库清理的插件等。在这里vpskk小站分享一下不使用插件来解决这个问题,帮助你快速完成数据库的清理工作。

一些常见利用命令清理WordPress数据库的方法

在进行清理之前,最好对数据库进行备份,以避免的不必要损失。可使用MySQL的导入导出功能将整个数据库导出,万一出现问题可重新导入数据库。

1、删除已停用的插件

转到WordPress仪表盘,点击“插件”,删除已停用的插件,可以轻松释放一些空间,这是清理数据库的第一步。

2、清理文章数据

WordPress的文章附加数据存储在wp_postmeta表中(文章数据存储在wp_post表中),大多数情况下这个表中的数据是没有用的,可以使用如下查询清理多余数据。

DELETE FROM wp_postmeta 
WHERE meta_key = 'your-meta-key';

将your-meta-key替换为表中关键字即可。

3、清理垃圾评论

如果仔细检查你的数据库,你会找到大量的垃圾评论,包括一些不择手段的宣传和反向链接。评论数据存储在wp_comments表中,可执行如下查询删除垃圾评论。

DELETE FROM wp_comments 
WHERE comment_approved = 'spam';

4、清理待审核评论

作为网站的管理员,有权删除所有待审核评论,而不用挨个标记处出垃圾评论。但在运行下面这个查询前,请批准其中的有效评论。

DELETE FROM wp_comments 
WHERE comment_approved = '0';

5、清理不常用的文章标签

我想大多数人都这样,刚开始写博客的时候,创建了数百个文章标签,以为以后都能用到。但随着我们的博客越来越多,你会发现,我们最经常用的标签就那么几个。

不要惊讶,看一看你的文章标签,你会发现好多标签已经完全记不得了。可以执行以下查询删除使用的标签。

DELETE FROM wp_terms wt
INNER JOIN wp_term taxonomy wtt 
ON wt.term_id = wtt.term_id 
WHERE wtt.taxonomy = 'post_tag' and wtt.count = 0;

6、删除Pingbacks(自动引用通知)

如果你已经关闭了“接受pingbacks”的选项,则可以执行如下查询从数据库中删除所有已存在的pingback。

DELETE FROM wp_comments 
WHERE comment_type = 'pingback';

7、删除文章修订记录

对于博客来说,文章修订记录确实是非常必要的,但是一旦你知道它们在数据库中占用的空间之大,就会毫不犹豫的删除它们,他们的大小通常会按指数形式增长,可以执行如下查询一次性删除所有的文章修订记录:

DELETE a, b, c 
FROM wp_posts a 
LEFT JOIN wp_term_relationships b 
ON (a.ID = b.object_id)
LEFT JOIN wp_postmeta c 
ON (a.ID = c.post_id) WHERE a.post_type = 'revision';

也可以执行如下的SQL语句来禁用文章修订记录:

define('WP_POST_REVISIONS'), false);

8、删除Trackbacks

最后一步来删除Trackbacks,为了防止发生意外,建议先到设置中禁用pingbacks和trackbacks,执行如下查询:

DELETE FROM wp_comments 
WHERE comment_type = 'trackback';