备份与恢复
快照是 WG Free Mesh 的应用级备份。它不依赖具体数据库文件,因此可以用于 SQLite 和 PostgreSQL 之间迁移。
快照包含什么
除管理员密码外,应用数据库中的业务数据都应进入快照,包括:
- 系统设置。
- 配置。
- 端点。
- Mesh 对。
- 客户端状态和 MQTT 凭据。
- MCP Token。
- 审计记录。
- 端口转发规则。
- 协议高级参数。
快照会记录当前系统版本,用于后续识别来源版本,但当前不做强制兼容校验。
快照不包含什么
快照不包含管理员密码。恢复快照后,管理员身份仍由当前系统初始化和登录机制控制。
部署级环境变量也不依赖快照恢复,例如数据库连接、正式访问地址、Docker 端口和 MQTT 是否启用。这些属于部署配置,应由 .env 管理。
安全性
快照通过管理员密码加密。没有密码时,快照内容不应被直接读取。
导出快照后,应像保存数据库备份一样保存它。不要把快照文件上传到公开仓库或聊天窗口。
恢复过程
恢复快照通常需要一点时间。前端会显示恢复中的阻塞提示,避免用户在恢复期间继续操作系统。
恢复时系统会用快照内容替换当前应用数据。恢复前建议先导出现有快照,保留回退路径。
与 EMQX 的关系
后端数据库是应用状态的唯一真相。快照恢复后,如果 EMQX 在线,后端会把节点账号、授权和客户端连接信息同步到 EMQX;如果 EMQX 暂时离线,数据会先落库,待 EMQX 恢复后再同步。
迁移数据库
从 SQLite 迁移到 PostgreSQL 的推荐流程:
- 在 SQLite 部署中导出快照。
- 启动 PostgreSQL 部署。
- 初始化管理员。
- 导入并恢复快照。
- 检查配置、端点和客户端状态。
反向迁移也使用同一套流程。
