本文汇总了文档数据库 MongoDB 版备份恢复的常见问题。
说明
- 恢复任务会创建一个新实例,不会覆盖原实例。恢复过程中原实例可正常对外提供读写业务,不受影响。
- 时序集合暂不支持数据恢复及库表回档。若原实例中存在时序数据,恢复后可能出现数据不一致。
备份列表中的“恢复到新实例”按钮是灰色的,无法点击,该怎么办?
请根据您的实例架构类型,参照下表定位原因并处理。关于实例架构的更多信息,请参见产品架构。 不需要。选定恢复时间点后,系统会自动引导您进入恢复实例配置页面,确认配置和费用后即可一键创建新实例并完成恢复,无需任何前置操作。
可以。在备份保留周期内,您可以在控制台的时间选择窗中指定任意分钟级时间点进行恢复,最近可选至当前时间的前 1 分钟。详情请参见按时间点恢复。 按时间点恢复的原理为:以最近一次全量备份为基础,顺序回放该备份之后产生的所有增量 oplog 日志,将数据还原至您指定的时间点。
因此,需回放的 oplog 日志量直接决定恢复耗时——恢复时间点距上一次全量备份越远,累积的日志越多,耗时越长;反之则越短。
恢复变慢通常由以下因素导致:
- 时间跨度大:恢复时间点距最近一次全量备份较远,需要回放的日志量大。
- 写入压力大:原实例在该时段写入或变更较频繁,产生的 oplog 日志较多。
- 新实例规格偏低:CPU 可能成为瓶颈,影响日志回放速度。
您可以根据实际场景,选择合适的处理方式。
说明
日常使用中,建议优先选择距当前较近的时间点进行恢复,可有效缩短恢复耗时。
恢复过程中,原实例状态变为“恢复中”,会影响线上业务吗?
不会。该状态仅表示实例正在执行数据恢复任务,期间原实例可正常对外提供读写服务,您无需执行任何操作。
说明
实例处于"恢复中"状态时,暂不支持发起变更类作业(如升配、降配、修改参数等),请等待恢复任务完成后再执行。
可以。只要原实例处于“运行中”或“恢复中”状态,即可同时提交多个恢复任务。每个任务独立执行,互不影响,也不会相互拖慢进度。
请先对实例进行存储空间扩容。扩容后的容量需 ≥ 当前已使用空间的 1.2 倍,然后重新发起回档任务即可。存储空间扩容的具体操作,请参见变更实例配置。 请根据您的 MongoDB 版本选择对应的恢复方式。
实例被释放后,我之前手动创建的备份还能保留多久?
手动备份在实例释放后会统一保留 7 天,超出期限后系统会自动删除且无法找回。
说明
对于重要业务数据,建议在实例释放前将备份文件下载至本地保存。具体操作请参见下载备份文件。 已删除实例的备份仅保留 7 天且不可延长。如需长期保存,可参考以下方式:
- 方式一(推荐) :在实例仍在使用时,保留或手动创建普通数据备份,通过控制台的获取备份文件功能将备份下载至本地或自有存储(如对象存储 TOS)中长期保存。具体操作步骤,请参见下载备份文件。
- 方式二:使用 mongodump 工具将数据导出后,再归档至对象存储 TOS 等长期存储服务。
说明
- 普通实例的自动备份保留期可设置为 7~365 天,但该设置无法改变实例删除后备份仅固定保留 7 天的限制。
- 备份文件无法直接恢复到云上的 MongoDB 实例。如需恢复,需先将备份文件恢复到本地自建 MongoDB 环境,再将数据迁移至云上实例。