MySQL数据库随机生成大量wp_posts表 容量超10GB原因咨询
异常表创建原因说明
你观测到的大量6位随机字母前缀加_wp_posts后缀的表,90%以上概率是站点被黑灰产入侵导致,剩余小概率为WordPress多站点功能异常触发:
- 黑产入侵批量建站:你的WordPress站点存在SQL注入、远程代码执行、后台弱口令等漏洞,黑客获取数据库写入权限后,会通过自动化脚本批量创建带随机前缀的完整WordPress表组(除你观测到的文章表外,通常还配套有同前缀的用户表、配置表、评论表等),每个前缀对应一个独立的违规内容站点,用来蹭你的域名权重和服务器资源发布黑灰产内容,是目前最常见的此类现象成因。
- 多站点配置异常:如果你主动开启了WordPress多站点功能,配置逻辑存在bug、或者被恶意请求批量触发站点创建接口,也可能生成大量前缀异常的站点表,正常情况下官方多站点默认使用数字作为表前缀,该场景出现概率极低。
验证方案
你可以通过以下操作确认具体成因:
- 执行SQL查询前缀关联的表数量,确认是否每套前缀都有完整的WordPress表结构:
SELECT COUNT(*) AS table_count, SUBSTRING_INDEX(table_name, '_wp_', 1) AS prefix FROM information_schema.tables WHERE table_schema = '替换为你的实际数据库名' GROUP BY prefix ORDER BY table_count DESC;
- 查看MySQL二进制日志或通用查询日志,定位这些表的创建时间、执行账号和来源IP,确认是否为非授权操作。
- 扫描WordPress站点根目录、上传目录,排查是否存在名称为随机字符串的陌生PHP后门文件。
应急处理步骤
- 先暂时断开服务器公网连接,避免入侵行为进一步扩散。
- 全量备份现有数据库和站点文件后,批量删除所有异常前缀的表,可先执行以下SQL生成删除语句,核对无误后再执行删除操作:
SELECT CONCAT('DROP TABLE `', table_name, '`;') FROM information_schema.tables WHERE table_schema = '替换为你的实际数据库名' AND table_name REGEXP '^[a-z]{6}_wp_';
- 升级WordPress核心、所有已安装的主题和插件到最新安全版本,修改所有后台账号密码、数据库连接密码,删除所有陌生后门文件,修复已发现的漏洞。
内容的提问来源于stack exchange,提问作者fivexi8617
相关产品推荐
相关产品推荐

