使用DNSPOD的D监控,偶尔出现主机连不上的情况,我想当然的以为是主机不稳定,毕竟是免费使用朋友的主机,直到前两天超过1天多了才发现不大对劲。
检查问题
- 连上网站,发现503错误。ping 主机能通。
- 主机管理界面(主机用的是kangle.pw),能够正常登陆,登进去就看到了大大的叹号,数据库超限。
由于是合租VPS,租用的虚拟空间,故肯定有一定的限制,包括空间大小、数据库大小、流量限制等等。
我这里的数据库限制为300M,一个博客空间竟然超过300M,显然是有问题。
解决问题
使用主机管理界面的“数据库管理”,进入PhpMyAdmin,查看各个表的空间大小,发现wp_comments和wp_commentmeta的大小都100M+,明显是垃圾评论太多了。
wp_comments:存储评论的表
wp_commentmeta:存储评论属性,支持扩展评论功能的表
+─────────────+───────────────+────────────────────+
| 字段名 | 类型 | 注释 |
+─────────────+───────────────+────────────────────+
| meta_id | bigint(20) | wp_commentmeta表ID |
| comment_id | bigint(20) | 对应wp_comments表中的id |
| meta_key | varchar(255) | 存储键名 |
| meta_value | longtext | 存储键值 |
+─────────────+───────────────+────────────────────+
我查了下我这个表,基本上都是akismet插件生成的。
执行语句
1 2 3 4 5 6 7 8 9 10 11 | -- 删除垃圾评论 -- spam 垃圾评论;0 待审核的评论,1 已审核的评论 DELETE FROM wp_comments WHERE comment_approved = 'spam'; --如果想删除待审核的评论 DELETE FROM wp_comments WHERE comment_approved = '0'; --优化表 OPTIMIZE TABLE wp_comments; --删除评论属性表 TRUNCATE TABLE `wp_commentmeta`; --一般来说直接删掉这个表就可以了,如果你使用了commentmeta存储信息请谨慎执行此句。 |
修改网站状态
执行完成后,数据库大小从300M直接到了15M。效果显著。但是这个时候网站的状态还是不对,还是打开不了,后用管理员账号进入管理员界面,把我的网站的状态从“数据库”超限改为“正常”。
Perfect!大功告成!
思考
- 如果D监控经常性出现报警,可能不是机器挂了,可能是网站有问题,需要ping看下,或者及时检查网站后台。
- 使用WP-Optimize插件,指定计划任务,每周清理垃圾评论、优化数据库表等。
- 关闭早期文章评论,减少垃圾评论的数据和入口。
>> 若为原创,转载请注明: 转载自Laycher's Blog
>> 本文链接地址: wordpress的mysql大小超限
>> 订阅本站: http://feed.feedsky.com/laycher