2025 年 nas 用户 docker 的 mysql 和 postgresql 有没有比较好的免费生产级备份方案

2025 年 4 月 7 日
 zhengfan2016

如题,目前我做的有全盘 raid1 ,每日凌晨对整个 docker data 目录做全量快照。

虽然有 data 目录全量快照,但是能不能恢复还得看运气(快照的时候没对 sql 的容器 stop ,有概率回滚失败)

不知道有没有什么更好的更优雅的备份方案

(要是能像阿里云 rds 一样分钟或者小时级别回滚,有易用的 webui 就更好了🐶)

3902 次点击
所在节点    NAS
24 条回复
huangpeng0v0
2025 年 4 月 7 日
MySQL 部分,
1.逻辑备份 采用 mysqldump+cron
2.物理备份 percon 的 PXB 和 PTK 有校验/备份/恢复全套工具,拿来即用,
另外阿里还有个 channel 的开源项目,也很实用 ,利用 MySQL 主从复制热备
huangpeng0v0
2025 年 4 月 7 日
MySQL 部分,
1.逻辑备份 采用 mysqldump+cron
2.物理备份 percona 的 PXB 和 PTK 有校验/备份/恢复全套工具,拿来即用,
另外阿里还有个 canal 的开源项目,也很实用 ,利用 MySQL 主从复制热备 https://github.com/alibaba/canal
ps:忽略第一条回复,手机码错字,项目太久没用名字也记错了
ysicing
2025 年 4 月 7 日
我用 restic 备份的
Vanquish5419
2025 年 4 月 7 日
我都是 docker stop 了再 rsync
rekulas
2025 年 4 月 7 日
可以加上主从增量备份
canal 我之前也用过,但是感觉比较麻烦,运维上需要投入一些时间,推荐试试 dbsyncer ,成都的一家公司开发的,很稳,我用来同步数据到国外基本都没断过
cnlaok999
2025 年 4 月 7 日
kopia
traffic
2025 年 4 月 7 日
不建议在容器内跑有状态应用,特别是数据库
wfhtqp
2025 年 4 月 7 日
borgmatic 定时 加 云盘同步
superchijinpeng
2025 年 4 月 7 日
kopia
89ao
2025 年 4 月 7 日
生产级的备份,首先要定义的就是服务水平和成本,再谈方案。
所以你要先明确,你的数据库能承受什么级别的损失,宕机能否接受?数据需要实时备份还是小时级别,还是天级别的备份?
有了这两个答案方案就简单了
superchijinpeng
2025 年 4 月 7 日
@traffic 哥们 2025 年了,政府的 DB 大部分都跑在 K8S 上了
vczyh
2025 年 4 月 7 日
每天 XtraBackup 全量备份一次,每小时备份一次 Binlog ,这样可以通过 1 个物理备份+N 个 Binlog 实现任意时间点恢复
zhengfan2016
2025 年 4 月 7 日
@89ao 损失我当然是希望越小越好,首先,能从灾难中恢复,其次,备份空间占用尽可能小,不要停止容器备份,也不要加全局锁,粒度尽可能细能够分库回滚,最后尽量损失的时间粒度越小越好
JerryYuan
2025 年 4 月 7 日
@traffic 如果 docker 中不推荐跑有状态的数据库,那对于家庭 homelab server 场景的话,应该跑在哪里么?另开虚拟机裸机跑 mysql 吗😂
shiny
2025 年 4 月 7 日
WAL-G ,秒级的回滚。实测 PostgreSQL 里运作很好,MySQL 增量备份不太好使
victimsss
2025 年 4 月 7 日
https://study.congcong.us/t/1054000#reply25
我之前写过 pg 的,要简单快捷就 docker exec 进去然后执行 dump 命令进行备份就行了,然后直接 docker cp 拷出来,将 脚本加到 cron 就行了。
star7th
2025 年 4 月 7 日
做全盘的备份就好。确保能恢复备份。上层的应用就不需要额外备份了。
至于说 有概率回滚失败。那就是备份问题了。备份无法恢复,那就想办法临时停止容器再备份。
zoharSoul
2025 年 4 月 7 日
同求
想知道可以自建秒级恢复吗
dcalsky
2025 年 4 月 7 日
推荐我刚刚出炉的: https://github.com/dcalsky/postgres-backup-r2
自动备份 docker pg 到 cloudflare r2 ,完全免费
yihy8023
2025 年 4 月 7 日
我在 lxc 容器部署了 pg 和 mysql ,然后每天 pve 会对磁盘快照备份。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://study.congcong.us/t/1123689

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX