这个博客现存的第一篇博文是2017年5月27日发出的,至今也有三年的时间了。这三年间安装过很多不同的主题和插件,这些主题和插件在数据库中创建了大量的数据表用来存储数据。即使后来主题和插件停止使用,这些数据表也一直留在数据库。
加上平时写博客回复留言,也会产生大量孤立的文章修订版本、自动草稿、孤立的文章元信息、孤立的评论元信息等等。这些都会导致数据库越来越臃肿。
我也一直有使用WP Clean Up等插件来清理数据库。但是作用非常有限,只能清理文章修订版本、自动草稿、评论、孤立的评论元信息等内容。但是数据库里已创建的大量冗余的数据表,只能通过手动去清理。
虽然有过无数次手动清理一下数据库的念头。但是对数据库的表不太熟悉,为了避免把网站搞崩溃,给自己找麻烦。所以一直没有动手。
直到前段时间网站被攻击,经常下线。隔三岔五就需要就去重启一下服务器。抱着死猪不怕开水烫的心态,顺便就把数据库给清理一下。想不到过程还是挺顺利的。将一些思路汇总如下。
1、首先,备份数据库,备份数据库,再说一遍,备份数据库。
2、将主题切换成了WordPress默认的主题。这一步是因为wordpress默认的主题一般都比较保守,都只往WordPress默认的11个表写入数据,只要不动那11个表,就不用担心出问题。
而第三方的主题一般启用之后,为了实现一些个性化的功能,都创建了一些新的表,一旦误删这些表,就有可能导致网站乱码甚至奔溃。所以还是决定使用WordPress默认的主题。
3、停用所有插件,这一步和上一步同理,避免清理掉插件依赖的数据表导致网站乱码甚至奔溃。
4、登录数据库管理面板,然后可以逐个表打开看一下,看看里面的字段内容是不是还在使用。如果没在使用,勾选它删除掉就可以了。其中,有11个表是安装Wordprss的时候就创建的默认的表,这些表不要误删就好。
默认WordPress会创建以下11个数据表。这里加上了默认的表前缀 wp_ :
wp_commentmeta:存储评论的元数据
wp_comments:存储评论
wp_links:存储友情链接(Blogroll)
wp_options:存储WordPress系统选项和插件、主题配置
wp_postmeta:存储文章(包括页面、上传文件、修订)的元数据
wp_posts:存储文章(包括页面、上传文件、修订)
wp_terms:存储每个目录、标签
wp_term_relationships:存储每个文章、链接和对应分类的关系
wp_term_taxonomy:存储每个目录、标签所对应的分类
wp_usermeta:存储用户的元数据
wp_users:存储用户
如果不能确定能不能删,建议可以采用“小步快走”的方法,每删一个表之前备份一下数据库,然后到前台刷新一下网站,如果网站没挂,问题不大。如果网站挂了,就导入到上一个备份恢复一下。这样虽然有点麻烦,但是靠谱呀。
当然,这里只提供了一个思路,每个人的情况都不一样,具体问题还是要具体分析。反正删剩下12表之后,感觉真是神清气爽。原来数据库也可以这么整洁干净!
之前我用WP也有这种感觉,随便安装个主题或安装个插件就会导致一大堆数据插入或一些表创建,感觉这做法太宽容了
@暮城留风 对呀,最好过一段时间就清理一下。
跟我习惯一样,后来就不用wp了
@迷你日志 现在用typecho的人也挺多的,适合自己就好
数据库,很是让我头疼
我还没清过数据库