- 文档首页
文档数据库 MongoDB 版
最佳实践
通过物理备份文件恢复至自建数据库
通过物理备份文件恢复至自建数据库
文档数据库 MongoDB 版支持备份文件下载功能,您可以将备份文件下载到本地,并通过备份文件将数据恢复到本地自建 MongoDB 数据库中进行离线分析或性能测试等。
前提条件
- 在安装了 MongoDB 的服务器上,创建物理恢复操作的数据库所在目录。
- 本文操作步骤以 /root/mongotest 作为物理恢复操作的数据库所在目录。
注意事项
- 本地自建 MongoDB 数据库(下文简称“自建 MongoDB”)需与文档数据库 MongoDB 版(下文简称 “MongoDB”) 的数据库版本保持一致。例如 MongoDB 使用的数据库版本为 4.0,自建 MongoDB 也必须使用 4.0 版本。
- MongoDB 支持副本集和分片集群两种实例架构,其中副本集实例只有一份数据,而分片集群中每个 Shard 分片都会有一份数据,您可以根据业务需要来选择需要恢复的数据。
- 不建议将数据恢复至自建 MongoDB 分片集群,因为自建 MongoDB 分片集群缺少物理备份路由,所以即使将 MongoDB 每个 Shard 分片的数据恢复至自建 MongoDB 分片集群中的每一个分片,Mongos 也只能读取到主分片的数据。
步骤一:下载及解压物理备份文件
- 在安装了 MongoDB 服务的 ECS 中,通过如下命令下载目标 MongoDB 实例的物理备份文件。
说明
- MongoDB 支持通过物理备份方式生成的数据备份和日志备份,恢复时需要使用的是数据备份。您可以 MongoDB 控制台上手动创建物理备份,具体操作步骤,请参见手动备份。
- 您可以从 MongoDB 控制台上找到物理备份文件的公网下载地址。具体操作步骤,请参见下载备份文件。
说明
解压之后,您会在当前目录中看到一个 metadata 文件和一个 data 文件夹(分片集群的物理备份文件中还会包含一个 mongo 文件夹,里面是每个 Shard 分片的备份数据),之后的步骤中需要使用 /data/physic/ 文件夹下的物理备份数据,备份数据的文件名称为 full-xxx(例如 full-168857646998639****)。
- 执行如下命令在 /root/mongotest 中新建一个 data 目录,并将解压后的 MongoDB 物理备份文件移动到 /root/mongotest/data/ 目录中。
步骤二:将物理备份数据恢复至自建 MongoDB
- 执行如下命令在 /root/mongotest 文件夹中新建配置文件 mongod.conf。
- 在命令行中输入 vi /root/mongotest/mongod.conf,打开 mongod.conf 文件,键盘输入 i 开启编辑模式。
- 将下述配置中的文件目录修改为您自己的真实文件目录后,再复制到 mongod.conf 文件中。
说明
本文操作以恢复至单节点模式的自建 MongoDB 数据库为例,因此下述配置文件设置的启动模式为单节点模式,且未开启认证功能。
- 按 Esc 键退出编辑模式,键盘输入 :wq 保存并退出。
- 进入 MongoDB 安装包的 bin 目录,然后执行如下命令来指定新建的配置文件 mongod.conf 启动 MongoDB。
- 等待 MongoDB 启动完成后,执行如下命令通过 Mongo shell 工具连接自建 MongoDB 数据库。
- 连接成功后,您可以在 Mongo shell 工具中执行 show dbs 命令,来查询当前本地 MongoDB 中所有的数据库,以验证是否恢复成功。
说明
验证恢复成功后,您可以在 Mongo shell 中执行 exit 命令退出 Mongo shell。
最近更新时间:2026.03.27 15:32:28