时时备份数据的最佳方法?

2017-10-28 08:35:10 +08:00
 tianxiacangshen
程序和数据服务器分离

想要时时备份数据,只要有新数据就备份到某个地方,请问哪种方法比较高效?
3508 次点击
所在节点    程序员
16 条回复
yangqi
2017-10-28 08:44:56 +08:00
实时就不叫备份了,叫同步
SuperMild
2017-10-28 08:51:57 +08:00
哪个网盘做不到?
SuperMild
2017-10-28 08:55:12 +08:00
看错了,是数据库呀。那大概直接部署分布式数据库比较方便
fox0001
2017-10-28 09:01:01 +08:00
mysql 和 mongo 都有主从数据库同步功能
RqPS6rhmP3Nyn3Tm
2017-10-28 09:05:02 +08:00
Google cloud sql
julyclyde
2017-10-28 09:32:13 +08:00
然后一不小心从主库删了内容,从库随着也就……
ragnaroks
2017-10-28 09:34:19 +08:00
内网千兆起步的话:

1.部署 1 个 windows 服务器专门存放数据库文件,使用 Cryptomator 来加密那个目录,此时 Cryptomator 会开一个只能本机访问的网络驱动器解密出文件,修改一下配置绑定到 0.0.0.0.

2.开一台 linux 做 sql server,将上面的网络驱动器映射为本地驱动器,sql server 文件存储目录就选映射出来的本地驱动器.

3.在[1]的 windows 上安装 xx 云同步(我用坚果),同步 sql server 文件目录.

ps: 用过微云,好像会强制占用文件,导致同步时无法写入数据.
ragnaroks
2017-10-28 09:34:52 +08:00
这个方法有个弊端,你要是作死了也自动同步上去了,所以务必开 binlog
zlfzy
2017-10-28 10:25:35 +08:00
用阿里云的 RDS MySQL 吧,可以指定任意时间点恢复,精确到秒
Sooele
2017-10-28 22:41:38 +08:00
如果你是个人博客。直接用阿里云 OSS。定时每天备份一次就好了
i730
2017-10-29 08:32:01 +08:00
@julyclyde #6 这不就是我 syncthing 同步的惨状吗,后来就只敢开仅发送不接收了
gwind
2017-10-29 11:43:25 +08:00
看场景

不过建议考虑几点:
1. 除了本地方案,尽可能也考虑异地方案
2. 除了实时‘备份’,尽可能考虑快照(能否恢复到上一时刻)
qile1
2017-10-29 14:25:50 +08:00
@ragnaroks 还是没明白你意思?数据库写入同时可以备份?怎么同步数据库文件?
ragnaroks
2017-10-29 14:31:59 +08:00
@qile1 #13
windows 用于存放数据库文件以及同步到远端,我这里是坚果云.
linux 用于提供 sql server,同时使用 windows 开放出的网络驱动器作为数据存储目录.
cryptomator 是用于提供读写状态分离+数据加密.
tianxiacangshen
2017-10-29 20:17:06 +08:00
@gwind 对,主要是异地备份
gwind
2017-10-30 20:43:49 +08:00
@tianxiacangshen 异地备份,从高效、简单的角度出发(数据量 100T 以内),建议先试试:
1. 使用 ZFS 文件系统(支持快照)
2. crontab + rsync

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

https://www.v2ex.com/t/401433

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

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

© 2021 V2EX