☰
如何快速完成第一次数据库备份:Databasement 从注册服务器到生成快照的新手保姆级教程
2026/10/4 4:22:25 网站建设 项目流程

如何快速完成第一次数据库备份:Databasement 从注册服务器到生成快照的新手保姆级教程

【免费下载链接】databasementSelf-hosted database backup manager with a web UI. Schedule, backup, and restore MySQL, PostgreSQL, MariaDB, Microsoft SQL Server, MongoDB, SQLite & Redis to S3, SFTP, Samba or local storage. SSH Tunnel support.项目地址: https://gitcode.com/gh_mirrors/da/databasement

Databasement是一款开源的自托管数据库备份管理工具,带网页界面,可以帮你对 MySQL、PostgreSQL、MariaDB、SQL Server、MongoDB、SQLite、Redis 等 8 种数据库定时备份、压缩存储和一键恢复。本文将手把手带你完成第一次 Databasement 数据库备份:部署工具、注册数据库服务器、创建存储卷,直到生成第一份快照。全程几乎零代码,新手也能照着走完。

一、用 Docker 快速部署 Databasement 备份工具

Databasement 推荐用 Docker 部署,单容器就内置了 Web 服务器、队列 Worker 和定时调度器。在服务器上执行:

mkdir databasement && cd databasement # 生成应用密钥 APP_KEY=$(docker run --rm davidcrty/databasement:1 php artisan key:generate --show) # 创建 .env 文件(写入 APP_KEY、APP_URL=http://localhost:2226、 # DB_CONNECTION=sqlite、DB_DATABASE=/data/database.sqlite、ENABLE_QUEUE_WORKER=true) docker run -d \ --name databasement \ -p 2226:2226 \ --env-file .env \ -v ./databasement-data:/data \ davidcrty/databasement:1

打开浏览器访问http://localhost:2226,就能看到安装完成的界面。更多部署方式(Docker Compose、Kubernetes、原生 Ubuntu)可参考 docker.md 和 docker-compose.md。

二、注册账号:第一次登录只需 1 分钟

首次访问会提示你注册账号,只需填写三项:

字段说明
姓名你的称呼,如"张三"
邮箱用于登录,也用于接收备份失败通知
密码建议 12 位以上,含大小写和数字

创建后第一个账号自动成为管理员。之后可以在账号设置里开启两步验证(2FA),多一层保险。

三、注册第一台数据库服务器

进入左侧菜单Database Servers(数据库服务器),点击Add Server,依次填写:

  • 名称:起个好认的名字,如"生产 MySQL"
  • 类型:选择 MySQL / PostgreSQL / MariaDB / SQL Server / MongoDB / SQLite / Firebird / Redis
  • 主机:数据库的 IP 或域名(同机 Docker 部署可填host.docker.internal)
  • 端口:MySQL 默认3306、PostgreSQL5432、MongoDB27017、Redis6379
  • 用户名 / 密码:需要有备份权限的数据库账号

填完先点Test Connection(测试连接),显示成功后再保存。各数据库需要授予的最小权限(如 MySQL 的SELECT, LOCK TABLES, PROCESS等)在 database-servers.md 中给出了现成的 SQL 语句,复制执行即可。

💡数据库藏在内网/跳板机后面?打开服务器表单里的SSH Tunnel开关,填入跳板机地址和凭据,Databasement 会在每次备份前自动打通隧道。详细配置见 ssh-tunnel.md。

四、创建存储卷:备份文件存在哪里

备份文件需要一个"仓库"。进入Volumes,点击Add Volume,新手最推荐Local(本地存储):

  1. 类型选Local,填写备份目录的绝对路径(如/backups)
  2. 点Test Connection,系统会写一个临时小文件再读回验证,确认读写正常
  3. 保存

如果你习惯把备份放到云端,还支持S3(含 MinIO 等兼容存储)、SFTP/FTP、Samba/NAS等多种类型,字段说明见 volumes.md。密码类凭据在数据库中都是加密存储的,不会明文保存。

⚠️ 小提醒:卷一旦关联过快照,存储配置就变成只读(防止快照指向错误的地方),但可以随时重命名卷。

五、执行第一次备份,生成你的第一份快照

回到Database Servers找到刚注册的服务器,点击Backup:

  1. 勾选要备份的数据库
  2. 选择刚才创建的存储卷
  3. 按需设置压缩方式(gzip / zstd / AES-256 加密)
  4. 点击开始,备份在后台异步执行

完成后到Snapshots(快照)页面,就能看到你的第一份快照:文件名、大小、所属数据库、创建时间一目了然。系统默认每天还会自动校验备份文件是否仍在存储卷上,缺失的会标红提醒你,逻辑实现在 SnapshotVerificationService.php。

六、进阶:给备份设置保留策略

不想让备份无限堆积?Databasement 提供两种保留策略(按数据库独立计算):

策略效果适合场景
按天数保留超过 N 天的备份自动删除开发测试环境(7-14 天)
GFS(祖孙策略)每天保留 7 份 + 每周 1 份保 4 周 + 每月 1 份保 12 个月生产环境,全年只需约 23 份备份

另外还可以配置定时备份(每天/每周自动执行),失败时通过 Email、Slack、Discord、Telegram、Webhook 等渠道发通知,配置方法见 backups.md。

总结

现在你已经完整走通了 Databasement 新手备份流程:

步骤你做了什么
①Docker 一行命令部署
②注册管理员账号
③注册数据库服务器并测试连接
④创建本地/S3 存储卷
⑤生成第一份快照
⑥配置保留策略与定时任务

备份只是开始——Databasement 同样支持跨服务器恢复(比如把生产数据恢复到测试库)、定时刷新测试库等能力,详情可阅读 intro.md 和 snapshots.md。数据库安全,从今天的第一份快照开始!

【免费下载链接】databasementSelf-hosted database backup manager with a web UI. Schedule, backup, and restore MySQL, PostgreSQL, MariaDB, Microsoft SQL Server, MongoDB, SQLite & Redis to S3, SFTP, Samba or local storage. SSH Tunnel support.项目地址: https://gitcode.com/gh_mirrors/da/databasement

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询