我想每天备份单个 mongodb 数据库,可能使用 mongodump。为了不丢失任何数据,我希望这是增量的,因此如果在一天中间出现问题,我需要能够重播当天的更改,直到执行 mongorestore 后出现故障。
我是否正确理解我需要为此使用 oplog?或者写日记就是答案?我尝试执行以下操作:
- 将我的 mongo 数据库变成只有一个的副本集,以便它创建一个 oplog。 (这感觉很hacky)
- 使用 --oplog 选项重新启动 mongod
- 执行应记录在 oplog 中的更改
然而,oplog 中不会存储任何内容。进行此类增量备份的最佳方法是什么?我基本上正在寻找类似的方法来重放 mysql binlog。
Thanks
MongoDB 不提供开箱即用的增量备份选项,但可以执行文件快照并重播 oplog。您是否按照文档中概述的步骤将服务器设置为副本集?http://www.mongodb.org/display/DOCS/Replica+Sets+-+Basics
您能否告诉我们这些备份的目的?您是否考虑过向副本集添加第二个节点以实现数据持久性?
如果您已完成将服务器设置为副本集成员的步骤,您可以在 shell 中运行 rs.status() 吗?
另一个注释(只是为了澄清)——日记并不意味着是一种备份策略;它是一种备份策略。日志仅确保数据库在发生故障转移时能够返回到一致的状态。强烈建议在启用日志功能的情况下运行。
以下是 MongoDB 备份文档:http://www.mongodb.org/display/DOCS/Backups
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)