Mongodb mongodump oplog,备份单个数据库
我想使用oplog从单个数据库创建一个增量备份策略 由于mongodump的--oplog选项创建了完整版本的转储,我想知道是否有任何方法可以:Mongodb mongodump oplog,备份单个数据库,mongodb,Mongodb,我想使用oplog从单个数据库创建一个增量备份策略 由于mongodump的--oplog选项创建了完整版本的转储,我想知道是否有任何方法可以: 使用oplog选项从“x”秒前的单个数据库进行转储 使用“x”秒前的oplog选项从单个集合进行转储 因为来自mongodump的--oplog版本会创建完整版本的转储 实际上,mongodump--oplog创建了一个只包含mongodump操作期间的操作的。此选项的目的是捕获数据库的有效时间点状态,否则,mongodump过程中的写入操作可能会影响
mongodump--oplog
创建了一个只包含mongodump
操作期间的操作的。此选项的目的是捕获数据库的有效时间点状态,否则,mongodump
过程中的写入操作可能会影响备份的输出
从“x”秒前使用oplog选项从单个数据库进行转储
从“x”秒前使用oplog选项从单个集合进行转储
无法使用oplog从X秒前转储数据库或集合快照:
- 为了在恢复过程中有效地应用oplog,oplog必须有一个与上次完全备份相同的条目
- 您无法有效地转储
的子集,因为没有索引(而oplog是一个特殊用途的capped集合,不支持添加索引)oplog
- 创建数据库的定期完整备份
- 定期备份完整的oplog
mongodump
和“last updated”字段(或对于仅插入的集合,使用“创建的”时间戳)进行备份
为副本集实现快速时间点备份的一种更常见的方法是使用。根据您的底层存储层,文件系统快照通常可以通过有效存储连续快照之间的更改而快速完成。快照是本地的,所以您仍然需要考虑如何将备份作为本地策略的一部分导出异地。
mongodump
备份的注意事项
使用时,还应注意:
- 需要读取所有数据,因此如果数据集比内存大得多,则可能会从内存中交换有用的数据
- 导出完整数据(除包含oplog的
数据库外),但仅导出索引的定义本地
备份将使用最少的空间(因为您没有预分配的存储或索引),但恢复时间也最长(因为mongodump
必须重建所有数据文件和索引)mongorestore