# Node 与 MySQL 系列版本约束 PRD - 功能编号:GOV-011 - 状态:设计复核 - 日期:2026-08-17 ## 背景 项目目标基线一直是 Node.js 22.x 与 MySQL 5.7.x,但部分实现、错误提示和现行规范把实际开发环境的 MySQL 5.7.42 写成了唯一允许的补丁版本。Node 运行时已经按 22 主版本校验,只是历史验证记录会显示实际使用的 22.11.0 或 22.22.0。用户明确说明本项目主要由本人部署,不需要锁定某个补丁版本,希望现行口径统一为系列版本。 ## 目标 - Node.js 接受全部格式合法的 22.x,拒绝其他主版本。 - MySQL 客户端、mysqldump、服务端和运行时健康检查接受全部格式合法的 5.7.x,拒绝 5.6.x、8.x 及其他系列。 - 字符集 `utf8mb4`、排序规则 `utf8mb4_general_ci`、会话时区 `+08:00`、固定开发库和主机白名单继续严格校验。 - 健康结果展示服务端返回的实际版本,不再硬编码 5.7.42。 - 当前规范统一使用系列口径,历史 QA、Schema 清单和已发布档案继续保留当时真实补丁版本。 ## 非目标 - 不升级 Node、MySQL、pnpm、数据库驱动或 ORM。 - 不修改数据库结构、数据、账号、网络或部署方式。 - 不支持 Node 23、MySQL 8.x、MariaDB 或其他“兼容 MySQL”数据库。 - 不为各补丁版本建立兼容矩阵或自动安装运行时。 ## 验收标准 1. Node 22.0.0、22.11.0 和带预发布/构建后缀的合法 22.x 版本通过;21.x、23.x 和无效格式拒绝。 2. MySQL 5.7.0、5.7.41、5.7.42-log 等合法 5.7.x 通过;5.6.x、8.0.x 和无效格式拒绝。 3. MySQL 5.7.x 即使版本通过,字符集、排序规则、库名或时区错误仍拒绝。 4. 既有 v0.0.5 至 v0.0.7 Schema 历史清单继续验证,不被改写。 5. 健康详情包含实际服务端版本;不泄漏连接地址、账号或密码。 6. 全量测试、构建、Playwright、源码发布门禁和两类 Review 通过。