直接给结论:对于绝大多数个人博客、企业展示站或中小型社区,WordPress 的数据库占用通常在 10MB – 50MB 之间。
哪怕你的文章有几千篇,图片很多,只要不是那种几万条用户注册信息的重型应用,100MB 绝对够用,甚至有点奢侈。
但作为在云服务器和宝塔面板上摸爬滚打多年的老手,我得把话说明白,因为“空间”这个词在这里有两个层面的含义,很多人容易混淆:
1. 纯数据库(MySQL/MariaDB)占用的实际大小
WordPress 的核心数据其实非常轻量。它主要存储的是:
- 文章正文、标题、摘要(这是大头,但如果全是文字,压缩率很高)。
- 评论数据。
- 插件配置表(有些插件会往数据库里塞大量选项,比如 SEO 插件、缓存插件、会员系统)。
- 垃圾回收站数据(被删除的文章和评论,默认保留30天,这会悄悄膨胀数据库)。
实测参考数据:
- 全新安装:约 2-5 MB。
- 写入 100 篇文章,无评论:约 5-8 MB。
- 正常运营半年,有几百家用户,几百条评论:通常不会超过 30 MB。
- 大型站点(日均PV过万,或者有很多自定义字段):可能达到 100-200 MB。
所以,如果你买的是阿里云、腾讯云、华为云等国内主流厂商的轻量应用服务器,标配的磁盘空间一般是 40GB 起步。其中 WordPress 的程序文件(PHP+CSS+JS)也就几十 MB,数据库撑死几百 MB。你完全不需要担心数据库空间不够的问题,瓶颈永远不在这里。
2. 为什么你会觉得“数据库很大”?常见误区
很多新手在宝塔面板里看到 MySQL 目录占用了几 GB,就慌了,以为数据库爆满了。这通常是以下原因造成的:
A. 日志文件占用了空间(最常见)
MySQL 默认开启二进制日志(binlog)和错误日志。如果你的网站访问量突然增大,或者执行了大量更新操作,ibdata1 文件或者 mysql-bin.0000xx 日志文件会迅速增长到几个 GB。
- 解决:在宝塔面板 -> 软件商店 -> MySQL 设置中,检查是否开启了不必要的日志记录。对于个人小站,关闭 binlog 或设置自动清理策略即可。
B. 碎片化严重
WordPress 频繁增删改查,尤其是使用了一些管理不当的插件(如频繁备份、同步插件),会导致数据库表产生大量碎片,实际占用空间远大于有效数据。
- 解决:定期在宝塔面板中使用“优化表”功能,或者安装 WP-Optimize 这类插件进行数据库优化。
C. 附件上传到了数据库(极个别情况)
正常情况下,图片、视频等媒体文件是存储在服务器的 /wp-content/uploads 目录下的,而不是数据库里。只有极少数特殊插件才会将大文件转成 Base64 存入数据库,这会瞬间撑爆数据库。
- 排查:如果数据库异常大,用 SQL 查询一下
wp_posts表中post_content字段是否有异常大的内容。
3. 给你的实操建议(基于宝塔面板 + 国内云厂商)
-
初始规划:
- 如果你用的是轻量应用服务器(如阿里云/腾讯云 Lighthouse),选 40GB 磁盘的版本绰绰有余。
- 如果你用的是ECS/CVM 云服务器,系统盘一般 20-40GB,数据盘按需挂载。WordPress 本身吃不了多少空间,重点要预留空间给图片附件和备份文件。
-
数据库引擎选择:
- 在宝塔新建数据库时,确保字符集选择
utf8mb4,排序规则utf8mb4_general_ci或utf8mb4_0900_ai_ci。这是为了防止中文表情符号乱码导致数据库报错或损坏。
- 在宝塔新建数据库时,确保字符集选择
-
定期维护:
- 在宝塔面板的“计划任务”中,设置每周自动备份数据库和网站文件。
- 每月手动或自动执行一次数据库优化(OPTIMIZE TABLE)。
-
监控告警:
- 不要盯着数据库大小看,要盯着磁盘总使用率。只要磁盘没满,数据库就算长到 1GB 也不会影响性能(除非内存不足导致 Swap 交换频繁)。
总结
WordPress 数据库根本不需要专门分配“多少 MB”的空间焦虑。
对于一个正常的个人站长,预留 100MB 给数据库是完全安全的,甚至可以说是浪费。你应该把精力放在如何优化图片加载速度、配置 CDN 以及做好异地备份上,这些才是影响体验和安全的真正关键点。
如果你在宝塔面板里看到 MySQL 占用了几十 GB,那一定是日志没清或者发生了数据泄露/注入攻击,这时候该做的不是扩容,而是排查和安全加固。
云技术博客