WordPress 数据库表清理全攻略

(1)wp_commentmeta: 用于保存评论的元信息,在将评论放入回收站等操作时会将数据放入此表,Akismet等插件也会生成此表的数据。

(2)wp_comments: 用于保存评论信息的表。

(3)wp_links: 用于保存用户输入到Wordpress中的链接(通过Link Manager)的表。

(4)wp_options: 用于保存Wordpress相关设置、参数的表,里面包括了大量的重要信息。

(5)wp_postmeta: 用于保存文章的元信息(meta)的表。此表不太重要。

(6)wp_posts: 用于保存你所有的文章相关信息的表,非常的重要。

(7)wp_terms: 文章和链接分类以及文章的tag分类可以在表里找到。

(8)wp_term_relationships: 日志与wp_terms中的类别与标签联合起来共同存储在此表中。类别相关链接也存储在此表中。

(9)wp_term_taxonomy: 该表格对wp_terms表中的条目分类(类别、链接以及标签)进行说明。

(10)wp_usermeta: 用于保存用户元信息(meta)的表。

(11)wp_users:用于保存Wordpress使用者的相关信息的表。

清理数据表操作主要涉及到以下几张表:

一、wp_options表:

这个数据表是wordpress设置的全局数据,这个表会经常插件、主题的残留数据,一些数据缓存。 (1)使用插件clean options (2)清空wp_options表,会删除一些设置,需要重新设置wordpress

TRUNCATE TABLE wp_options;

二、wp_posts表:

删除除已发布的内容以外的文章、修订版本、页面、文章的附件、菜单

DELETE FROM wp_posts WHERE NOT(post_status = 'publish' AND post_type IN('post','nav_menu_item','page'));

三、wp_postmeta表:

(1)规矩删除,删除文章中不存在文章的元信息

DELETE FROM wp_postmeta WHERE post_id NOT IN (SELECT post_id FROM wp_posts);

(2)安全删除,删除_edit_lock和_edit_last条目是安全的

DELETE FROM wp_postmeta WHERE meta_key = '_edit_lock';
DELETE FROM wp_postmeta WHERE meta_key = '_edit_last';

(3)风险删除,目前没有发现问题,待进一步考证

DELETE FROM wp_postmeta WHERE meta_key = '_wp_old_slug';
DELETE FROM wp_postmeta WHERE meta_key = '_revision-control';
DELETE FROM wp_postmeta WHERE meta_value = '{{unknown}}';

(4)特殊操作删除,后台上传图片或者附件的信息,若不需要可以删除

DELETE FROM wp_postmeta WHERE meta_key = '_wp_attached_file';
DELETE FROM wp_postmeta WHERE meta_key = '_wp_attachment_metadata';

(5)特殊插件删除,postnav插件会记录每个文章的访问数,若不需要可以删除

DELETE FROM wp_postmeta WHERE meta_key = 'views';

四、wp_commentmeta表:

(1)删除没有用的数据,不出意外,下面的操作我们应该不需要做

DELETE FROM wp_comments WHERE comment_approved = 'trash';
DELETE FROM wp_commentmeta WHERE comment_id NOT IN (SELECT comment_id FROM wp_comments);

(2)在此表会记录评论被删除的时间,当评论被从回收站删除之后,这些记录就可以删除了

DELETE FROM wp_commentmeta WHERE meta_key LIKE '%trash%';

(3)如果直接全部删除wp_commentmeta,影响不会太大,这里面不会涉及重要的数据

TRUNCATE TABLE wp_commentmeta;
THE END