You need to enable JavaScript to run this app.
文档中心
文档数据库 MongoDB 版

文档数据库 MongoDB 版

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