文档数据库 MongoDB 版支持备份文件下载功能,您可以将备份文件下载到本地,并通过备份文件将数据恢复到本地自建 MongoDB 数据库中进行离线分析或性能测试等。
/root/mongotest
作为物理恢复操作的数据库所在目录。在安装了 MongoDB 服务的 ECS 中,通过如下命令下载目标 MongoDB 实例的物理备份文件。
wget -c '<数据备份文件的公网下载地址>' -O <自定义文件名>.zip
执行如下命令解压物理备份文件。
unzip <自定义文件名>.zip
说明
解压之后,您会在当前目录中看到一个 metadata
文件和一个 data
文件夹(分片集群的物理备份文件中还会包含一个 mongo
文件夹,里面是每个 Shard 分片的备份数据),之后的步骤中需要使用 /data/physic/
文件夹下的物理备份数据,备份数据的文件名称为 full-xxx
(例如 full-168857646998639****
)。
执行如下命令在 /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
执行如下命令在 /root/mongotest
文件夹中新建配置文件 mongod.conf
。
touch /root/mongotest/mongod.conf
在命令行中输入 vi /root/mongotest/mongod.conf
,打开 mongod.conf
文件,键盘输入 i
开启编辑模式。
将下述配置中的文件目录修改为您自己的真实文件目录后,再复制到 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
按 Esc 键退出编辑模式,键盘输入 :wq
保存并退出。
进入 MongoDB 安装包的 bin
目录,然后执行如下命令来指定新建的配置文件 mongod.conf
启动 MongoDB。
./mongod --config <mongod.conf 文件所在路径>
命令示例如下。
./mongod --config /root/mongotest/mongod.conf
等待 MongoDB 启动完成后,执行如下命令通过 Mongo Shell 工具连接自建 MongoDB 数据库。
./mongo --port 27011
连接成功后,您可以在 Mongo Shell 工具中执行 show dbs
命令,来查询当前本地 MongoDB 中所有的数据库,以验证是否恢复成功。
说明
验证恢复成功后,您可以在 Mongo Shell 中执行 exit
命令退出 Mongo Shell。