物理备份恢复至自建数据库
更新时间:2023-11-06
用户可以通过控制台下载MongoDB数据库的物理备份数据,下载完成后可以将备份数据恢复至自建MongoDB数据库中。
前提条件
实例类型为副本集实例。
下载解压物理备份文件
- 登录MongoDB管理控制台。
- 在页面左上角,选择实例所在的地域。
- 在左侧导航栏,单击副本集实例列表。
- 找到目标实例,单击实例ID,进入实例功能页。
- 在左侧找到备份管理功能选项,进入备份列表页面。
- 点击手动备份按钮,并选择物理备份。
- 完成上述参数配置后,单击确定后,等待备份完成。
- 在备份列表页面,选择目标备份记录,点击右侧的下载选项,下载弹窗如下图所示:
- 利用备份下载链接下载物理备份文件,可以通过
wget
命令下载。 - 将下载的MongoDB物理备份文件复制至
/path/to/mongo/data/
目录中。 - 对物理备份文件执行解压操作。物理备份文件为后缀为
.tar.gz
的压缩归档文件,可使用以下方法解压:
cd /path/to/mongo/data/
tar xzvf backup-o4epnp_20200905111735.tar.gz
解压结果如下图所示:
以单节点模式恢复MongoDB物理备份数据
- 在/path/to/mongo文件夹中新建配置文件mongod.conf。
- 修改mongod.conf配置文件,使其符合单点模式启动的配置要求。单点模式配置文件模版如下:
systemLog:
destination: file
path: /path/to/mongo/mongod.log
logAppend: true
security:
authorization: enabled
storage:
dbPath: /path/to/mongo/data
directoryPerDB: true
net:
port: 27017
processManagement:
fork: true
pidFilePath: /path/to/mongo/mongod.pid
- 指定新建的配置文件 mongod.conf 来启动 MongoDB。
/usr/bin/mongod -f /path/to/mongo/mongod.conf
- 等待启动完成后,可通过服务器的 mongo shell 登录 MongoDB 数据库。
mongo --host 127.0.0.1 -u <username> -p <password> --authenticationDatabase admin
说明:
- username:该MongoDB实例的数据库账号,默认为root。
- password:该数据库账号对应的密码。
副本集模式启动MongoDB数据库
云数据库MongoDB的物理备份默认带有原实例的副本集配置,无法直接以副本集模式启动,启动时需以单节点模式启动恢复数据后,再以副本集模式启动,启动步骤如下:
- 通过服务器的mongo shell登录MongoDB数据库。
- 移除原有副本集配置:
use local
db.system.replset.remove({})
- 关闭MongoDB服务:
use admin
db.shutdownServer()
- 修改/path/to/mongo/目录下的配置文件mongod.conf,添加replication相关配置。详细命令用法请参见MongoDB官方文档部署副本集。
- 指定新建的配置文件 mongod.conf 来启动 MongoDB。
/usr/bin/mongod -f /path/to/mongo/mongod.conf
-
将成员加入副本集并初始化副本集。
说明 此步骤使用rs.initiate()命令进行操作,详细命令用法请参见MongoDB官方文档rs.initiate()命令介绍。