You need to enable JavaScript to run this app.
导航

MongoDB 恢复逻辑备份至自建数据库

最近更新时间2022.07.06 12:47:19

首次发布时间2022.07.06 12:47:19

前言

在本教程中,您将学习如何创建恢复 MongoDB 中的逻辑备份到自建的 MongoDB 数据库中

关于实验

预计部署时间:20分钟
级别:初级
相关产品:MongoDB
受众: 通用

环境说明
  1. 如果还没有火山引擎账号,点击此链接注册账号。

  2. 如果您还没有VPC,请先点击链接创建VPC。

  3. 云数据库 MongoDB 版。

  4. 自建 MongoDB 数据库。

实验步骤

步骤1:创建逻辑备份

  1. 进入到 MongoDB 控制台

  2. 选择您的实例,进入到详情页之后,选择 备份恢复,如下图:
    alt

  3. 点击 手动备份,在弹框中选择逻辑备份,然后点击确定,等待备份完成即可。

步骤二:下载备份并上传到自建的数据库实例上

  1. 登录 MongoDB 控制台。
  2. 在实例详情页,单击“备份恢复”页签。
  3. 在备份文件列表中找到需要下载的备份,单击右侧“操作”栏中的“... > 下载”即可。
  4. 上传备份文件到自建的 MongoDB 服务器上。

步骤三:进行恢复操作

您可以执行如下命令,将备份文件中的数据导入至自建 MongoDB 数据库中:

mongorestore -h <hostname> --port <server port> -u <username> -p <password> --drop --gzip --archive=<backupfile> -vvvv --stopOnError

参数说明如下:

  1. hostname :自建MongoDB数据库所属的服务器地址,本机可填写127.0.0.1。
  2. server port:自建MongoDB数据库的数据库端口。
  3. username:自建MongoDB数据库的数据库用户名。
  4. password:自建MongoDB数据库的数据库密码。
  5. archive:指定备份文件目录和名称。
  6. gzip:对备份文件进行解压。

关于 mongorestore 的更多相关参数,您可以使用如下命令来获取帮助:

(base) [root@ip-10-0-0-22 ~]# mongorestore --help

实际操作如下:

(base) [root@ip-10-0-0-22 ~]# mongorestore --port 27017 -h 127.0.0.1 --archive=/home/ec2-user/full-1654678262797128838.backup --drop --gzip -vvvv --stopOnError

日志输出如下:
2022-06-08T09:17:11.206+0000    using write concern: &{majority false 0}
2022-06-08T09:17:11.209+0000    checking options
2022-06-08T09:17:11.209+0000            dumping with object check disabled
2022-06-08T09:17:11.209+0000    will listen for SIGTERM, SIGINT, and SIGKILL
……
2022-06-08T09:17:11.352+0000    restoring users from archive '/home/ec2-user/full-1654678262797128838.backup'
2022-06-08T09:17:11.353+0000    restoring users to temporary collection
2022-06-08T09:17:11.353+0000    using 1 insertion workers
2022-06-08T09:17:11.377+0000    merging users/roles from temp collections
2022-06-08T09:17:11.385+0000    dropping temporary collection admin.tempusers
2022-06-08T09:17:11.390+0000    6 document(s) restored successfully. 0 document(s) failed to restore.

至此,数据已经恢复到自建实例中。

步骤四: 删除数据库实例

您可以从 MongoDB 控制台中轻松删除数据库实例。您可以删除不再使用的实例,以免继续为其付费。

具体操作如下:

  1. 在 MongoDB 控制台的顶部菜单栏的左上角,选择需要删除的实例。
  2. 在“实例列表”页找到目标实例,选择右侧“操作”栏中的“... > 删除实例”。
  3. 弹出的对话框中,确认需要删除的实例信息(如实例ID和名称等),并选择合适的备份策略。
参考文档

[1] https://www.volcengine.com/docs/6447/71014

[2] https://www.volcengine.com/docs/6447/71019

如果您有其他问题,欢迎您联系火山引擎技术支持服务