通过下载云数据库MongoDB的物理备份文件,可以将数据恢复至本地自建数据库中。

背景信息

该方法仅适用于副本集实例。

操作步骤

  1. 下载物理备份数据
  2. 将文件解压至本地服务器上MongoDB所在的data目录(需确保是空的)。

    假设/path/to/mongo为要用物理备份启动的MongoDB所在目录。

    cd /path/to/mongo/data/
    rm -rf *
    tar xzvf hins_xxx.tar.gz

操作步骤

  1. MongoDB版本要求:3.2及以上。
  2. 阿里云ApsaraDB for MongoDB默认使用的是WiredTiger存储引擎,并且开启了directoryPerDB选项,因此配置中需要指定这个选项。
  3. 阿里云ApsaraDB for MongoDB的物理备份默认带有原实例的副本集配置,启动时需以单节点模式启动(配置文件中不能有replication相关配置),否则可能无法访问。如需以副本集模式启动,可以以单节点模式启动后再按照以下步骤执行:
    1. 移除原有副本集配置:
      use local
      db.system.replset.remove({})
    2. 修改配置文件,添加replication相关配置。
    3. 重启mogodb进程。
    4. 重新初始化副本集。
  4. 阿里云ApsaraDB for MongoDB的物理备份带有原实例的账号密码,若在配置文件中开启了认证,则需要使用原实例的账号密码来访问。
  5. 以下为可以使用阿里云ApsaraDB for MongoDB的物理备份启动的配置模板(单节点开启认证):
    systemLog:
        destination: file
        path: /path/to/mongo/mongod.log
        logAppend: true
    security:
        authorization: enabled
    storage:
        dbPath: /path/to/mongo/data
        directoryPerDB: true
    net:
        http:
            enabled: false
        port: 27017
        unixDomainSocket:
            enabled: false
    processManagement:
        fork: true
        pidFilePath: /path/to/mongo/mongod.pid