云数据库MongoDB支持从当前实例运行的某个时间创建新实例,并将该时间点的备份数据恢复至新实例中,可用作数据恢复或数据验证场景。
支持的实例类型
-
副本集实例。
-
分片集群实例。
注意事项
-
为保证按时间点恢复数据的正确性,您需要开启日志备份。如果关闭日志备份,由于缺失oplog,云数据库MongoDB会获取离选择时间点最近的全量备份数据进行恢复,导致恢复数据不准确。开启方法请参见自动备份MongoDB数据。
说明当指定恢复的时间点超出日志备份的时间范围,也无法按时间点将备份数据恢复至新建实例。
-
仅支持基于物理备份的单库恢复,暂不支持基于逻辑备份的单库恢复。如果您购买的云数据库MongoDB实例数据库版本低于MongoDB 4.0,当该实例中集合和索引的总数量超过1万时,物理备份可能会失败。您可以在进行物理备份前,将云数据库MongoDB实例的数据库版本升级至MongoDB 4.0及以上,升级方法请参见升级数据库大版本。
重要数据库版本升级后,原版本云数据库MongoDB的备份文件不能用于恢复新版本的云数据库MongoDB数据。
-
执行数据库恢复所需的时间和数据量、任务队列、网络等多种因素有关。目前暂不支持实时查看 oplog 回放的具体进度或预计完成时间点,您只需要等待新实例的运行状态变更为运行中即可视为恢复完成。
恢复过程中,新实例的磁盘使用量会逐步上升,由于 oplog 回放和临时文件占用,磁盘用量短时超出预期属于正常现象,不影响最终恢复结果;当磁盘使用量接近源实例的数据量时,通常表示恢复已接近完成。
此外,数据恢复会占用新实例的计算资源,新实例的规格(CPU、内存)越低,恢复所需时间通常越长,建议根据源实例规格合理选择新实例规格。
-
如果实例的数据库小版本过期或不在维护列表内,当您执行按时间点将备份数据恢复至新实例的操作时,系统会默认将您的数据库小版本升级至最新版,以确保给您提供更出色的性能和稳定性。
-
恢复到新实例后,原实例的参数设置和数据库账号会自动继承;但IP白名单、备份策略需要重新配置。新实例由系统自动分配新的连接地址,请注意更新业务连接串。
-
数据恢复任务一旦提交将无法中途停止或取消,请在提交前确认恢复参数正确。
-
开启TDE的实例,由于加密密钥绑定在特定可用区,恢复至新实例时仅支持恢复到密钥所在的可用区,暂不支持跨可用区恢复。
费用说明
执行按时间点新建实例的操作将创建一个新的实例并产生相关费用,详情请参见收费项目及价格说明。
副本集实例
-
访问MongoDB副本集实例列表,在上方选择资源组和地域,然后单击目标实例ID。
-
在目标实例页面的左侧导航栏,单击备份与恢复。
-
在全量备份页签,单击按时间点创建实例。
-
在按时间点创建实例面板,设置以下参数后单击确定。
配置项目
配置说明
选择要恢复的时间点
选择实例运行的某个时间点进行数据恢复。
说明-
恢复的时间点须早于当前时间且晚于实例创建时间。
-
可恢复时间范围为日志备份的保留时长,如何设置日志备份,请参见自动备份MongoDB数据。
选择要恢复的数据库
-
全部数据库:恢复实例的全部数据库。
-
部分数据库:恢复实例的部分数据库。
您可以直接勾选需要恢复的数据库,也可以单击切换为手动输入数据库,手动输入需要恢复的数据库。
说明-
在手动输入数据库的模式下,多个数据库之间用英文逗号(,)分隔。
-
如果您升级过数据库版本,老版本的备份文件将无法用于恢复数据。
-
云盘版副本集实例仅支持选择全部数据库恢复实例的全部数据库。
-
-
-
新建实例。
-
在克隆实例页面,选择商品类型。
-
副本集(包年包月):预付费方式,即在购买实例时支付费用。适合长期需求,价格比按量付费更实惠,且购买时长越长,折扣越多。
-
副本集(按量付费):后付费方式,即每小时生成一个账单,并按照出账时的实例规格和最大的存储空间从您的阿里云账号中扣费。适合短期需求,用完可立即释放实例,节省费用。
-
-
选择新购实例的配置信息,具体配置项及说明请参见创建副本集实例。
重要配置的存储空间不低于源实例的存储空间。
-
-
购买实例。
-
单击立即购买。
-
在确认订单页面,阅读服务协议。
-
单击去支付。
-
根据提示完成支付流程。
-
分片集群实例
-
访问MongoDB分片集群实例列表,在上方选择资源组和地域,然后单击目标实例ID。
-
在目标实例页面的左侧导航栏,单击备份与恢复。
-
【可选】单击页面右上角的升级为集群备份模式。
说明仅2023年10月18日之前创建的云盘版分片集群实例需要执行该步骤。如果右上角已没有该按钮,则表示您已经完成过升级操作。
-
在全量备份页签,单击按时间点创建实例。
-
在按时间点创建实例面板,设置以下参数后单击确定。
云盘版分片集群实例和本地盘版分片集群实例页面信息存在区别,请根据实例类型选择相应的操作方法。
云盘版
配置项目
配置说明
恢复模式
选择按时间点创建实例。
说明关于库表恢复的使用方法和说明,请参见恢复云数据库MongoDB单个或多个数据库。
支持的时间段
支持恢复的时间段,无需选择。
选择要恢复的时间点
选择实例运行的某个时间点进行数据恢复。
说明-
恢复的时间点须早于当前时间且晚于实例创建时间。
-
可恢复时间范围为日志备份的保留时长,如何设置日志备份,请参见自动备份MongoDB数据。
选择要恢复的数据库
默认为全部数据库。
说明如果您升级过数据库版本,老版本的备份文件将无法用于恢复数据。
本地盘版
配置项目
配置说明
选择要恢复的时间点
选择实例运行的某个时间点进行数据恢复。
说明-
恢复的时间点须早于当前时间且晚于实例创建时间。
-
可恢复时间范围为日志备份的保留时长,如何设置日志备份,请参见自动备份MongoDB数据。
选择要恢复的数据库
选择全部数据库。
说明-
如果您升级过数据库版本,老版本的备份文件将无法用于恢复数据。
-
本地盘版分片集群实例默认仅支持恢复实例的全部数据库,不需执行该步骤。
重要-
恢复的时间点须早于当前时间且晚于实例创建时间。
-
为保障数据的完整性和正确性,恢复分片集群实例的数据时,请勿选择最近的时间点(通常为最近1小时),否则会导致恢复失败。
-
可恢复时间范围为日志备份的保留时长,如何设置日志备份,请参见自动备份MongoDB数据。
-
-
新建实例。
-
在克隆实例页面,选择商品类型。
-
分片集群(包年包月):预付费方式,即在购买实例时支付费用。适合长期需求,价格比按量付费更实惠,且购买时长越长,折扣越多。
-
分片集群(按量付费):后付费方式,即每小时生成一个账单,并按照出账时的实例规格和最大的存储空间从您的阿里云账号中扣费。适合短期需求,用完可立即释放实例,节省费用。
-
-
选择新购实例的配置信息,具体配置项及说明请参见创建分片集群实例。
重要-
新分片集群实例中Shard节点数量与源分片集群实例保持一致。
-
Shard节点的存储空间不低于源分片集群实例中Shard节点的存储空间。
-
-
-
购买实例。
-
单击立即购买。
-
在确认订单页面,阅读服务协议。
-
单击去支付。
-
根据提示完成支付流程。
-
常见问题
Q:为什么我在控制台没找到按时间点创建实例?
A:按时间点创建实例功能仅支持副本集和分片集群架构实例,单节点架构实例不支持该功能。
Q:按备份点恢复与按时间点恢复有什么区别?
A:两者的区别主要体现在恢复精度、依赖条件和适用场景:
-
按备份点恢复:只能恢复到最近一次全量备份对应的时间点,适合对数据时效性要求不高的场景。
-
按时间点恢复:可精确到秒级恢复,依赖日志备份(oplog),适合生产环境误删除等需要精准回溯数据的场景。
针对生产环境误删除场景,建议使用按时间点恢复,将数据恢复至误删发生前一刻;同时在创建新实例时选择不低于源实例的规格,避免因规格过低导致恢复速度慢、内存不足触发 OOM 中断,或恢复完成后新实例无法承载正常业务请求。
如需了解按备份点恢复的具体操作,请参见按备份点将备份数据恢复至新建实例。