以下是 MySQL 备份管理系统的 README 文件,涵盖了项目简介、功能特性、安装部署、使用说明及 API 参考。


MySQL 备份管理系统

一个基于 Flask 的 MySQL 数据库备份管理工具,提供 Web 界面和 RESTful API,支持全量/增量备份、定时任务、批量备份、数据还原等功能,并针对 GTID 环境进行了优化。

功能特性

  • Web 管理界面:直观的仪表板,支持实例管理、定时任务、手动备份、批量备份、备份列表查看、数据还原。
  • 全库/单库备份:支持备份整个 MySQL 实例或指定数据库,备份目录按 {db}_YYYYMMDD_HHMMSSall_YYYYMMDD_HHMMSS 命名。
  • 增量备份:基于 binlog 的增量备份,支持与全量备份关联。
  • 定时任务:通过 cron 表达式调度备份任务,支持启用/停用。
  • 批量备份:支持通过 Excel 模板导入批量备份任务。
  • 数据还原:支持全库还原和单库还原,并记录还原历史。
  • 日志轮转:自动管理备份和还原日志,超过 10MB 自动轮转。

使用说明

登录

默认用户名/密码:admin/admin(可通过环境变量修改)。
登录后进入主界面,左侧菜单包含六个模块。

1. 数据库实例信息

  • 管理备份实例(主机、端口、用户名、密码、数据库名)。
  • 数据库名留空表示备份整个实例。
  • 支持测试连接。

2. 定时任务调度

  • 为指定实例创建定时备份任务(支持全量/增量)。
  • 使用 cron 表达式(如 0 2 * * * 表示每天凌晨2点执行)。
  • 可启动/停止/手动运行/删除任务。

3. 手动备份

  • 支持手动填写连接信息或从已有实例选择。
  • 支持全量/增量备份。
  • 可指定表过滤、清理天数、压缩等选项。
  • 增量备份需选择对应的全量备份目录。

4. 批量备份

  • 下载 Excel 模板,填写多个备份任务。
  • 上传 Excel 文件后预览任务列表,一键执行。
  • 支持全库和单库混合。

5. 备份任务列表

  • 查看所有已生成的备份目录。
  • 显示数据库名、主机、目录名、备份时间、大小、状态(成功/失败)。
  • 支持查看备份日志、查看表列表(单库)、删除备份。

6. 备份数据还原

  • 选择备份目录(全库或单库)和目标数据库。
  • 全库备份时无需填写目标数据库名,自动还原所有库。
  • 可指定增量目录、表过滤、覆盖表等。
  • 执行后自动记录还原历史(时间、结果、耗时等)。

认证

  • POST /do_login - 登录(JSON 格式,username/password)
  • POST /logout - 登出
  • GET /login - 登录页面
  1. 权限:数据库用户需要具有 SELECTSHOW VIEWLOCK TABLESRELOADPROCESS 等权限,还原时需 CREATEDROP 权限。
  2. GTID:若数据库开启了 GTID,备份脚本已添加 --set-gtid-purged=OFF,还原时无需特殊处理。。
  3. 存储空间:请确保备份目录有足够磁盘空间,建议定期清理旧备份(可配置 clean_days)。
  4. 定时任务:目前仅提供 API 接口管理定时任务,实际调度需依赖外部工具(如系统 crontab)或集成 Celery 等。本系统当前版本仅将任务定义存储在 JSON 文件中,未实现实际调度器。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Logo

这里是“一人公司”的成长家园。我们提供从产品曝光、技术变现到法律财税的全栈内容,并连接云服务、办公空间等稀缺资源,助你专注创造,无忧运营。

更多推荐