feat: 完善数据库备份恢复流程

This commit is contained in:
2026-07-10 12:15:25 +08:00
parent d7d9514348
commit 0bc767933e
4 changed files with 86 additions and 11 deletions

View File

@@ -122,13 +122,24 @@ alembic upgrade head
## 备份
可使用脚本
备份脚本会生成压缩 SQL 和 SHA-256 校验文件,默认保留 14 天。密码只通过环境变量传入,不写入命令参数
```bash
cd ai_knowledge_base_v2
BACKUP_DIR=./backups ./scripts/mysql_backup.sh
MYSQL_PASSWORD='数据库密码' BACKUP_DIR=./backups ./scripts/mysql_backup.sh
```
恢复前应停止用户流量并再次备份当前数据库。恢复脚本要求显式确认,并会先验证校验和与压缩文件完整性:
```bash
MYSQL_PASSWORD='数据库密码' \
BACKUP_FILE='./backups/ai_knowledge_base_v2_YYYYMMDD_HHMMSS.sql.gz' \
RESTORE_CONFIRM=YES \
./scripts/mysql_restore.sh
```
恢复后必须检查迁移版本、`/api/ready`、管理员登录、用户登录和一次真实问答。备份文件与 `CONFIG_ENCRYPTION_KEY` 必须分别保存;只有数据库备份而没有对应加密密钥时,敏感配置无法解密。
## 回滚原则
1. 先停止新版本服务。