MongoDB备份和恢复

9个月前 (04-27)
本节我们来介绍一下 MongoDB 中如何对数据进行备份与恢复。

数据备份

在 MongoDB 中我们可以使用 mongodump 令来对 MongoDB 进行数据备份,该令可以导出所有数据到指定目录中,也可以通过参数将导出数据转存的服务器。其语法格式如下:

mongodump -h dbhost -d dbname -o dbdirectory

参数说明如下:
  • -h:MongDB 所在服务器的地址,例如:127.0.0.1,同时也可以指定端口号,例如:127.0.0.1:27017;

  • -d:需要备份的数据库实例,例如:test;

  • -o:备份数据存放的位置,例如:c:\data\dump,该目录需要提前建立,在备份完成后,系统会自动在 dump 目录下建立一个 test 目录,并在这个目录里面存放该数据库实例的备份数据。


【示例】假设在电脑本地(127.0.0.1)的 27017 端口运行 MongoDB 服务,然后打开令提示符(CMD)窗口并进入 MongoDB 安装目录下的 bin 目录,输入 mongodump 令,运行结果如下:

C:\Users\79330>D:

D:\>cd install/MongoDB/bin

D:\install\Mongodb\bin>mongodump
2021-02-25T11:22:39.468+0800    writing admin.system.version to
2021-02-25T11:22:39.516+0800    done dumping admin.system.version (1 document)
2021-02-25T11:22:39.516+0800    writing bianchengbang.course to

2021-02-25T11:22:39.517+0800    done dumping bianchengbang.course (3 documents)

mongodump 令将连接到运行于 127.0.0.1:27017 的 MongoDB 服务器上,并将服务器中的所有数据备份到 MongoDB 安装目录下的 /bin/dump/ 目录下。

下表中列举了可以与 mongodump 令一起使用的参数列表:

语法

描述

实例

mongodump --host HOST_NAME --port PORT_NUMBER

该令将备份所有 MongoDB 数据

mongodump --host runoo网站站点" rel="nofollow" />

mongorestore

【示例】下面通过一个简单的示例演示一下 mongorestore 令的使用:

D:\install\Mongodb\bin>mongorestore
2021-02-25T13:26:27.757+0800    using default 'dump' directory
2021-02-25T13:26:27.775+0800    preparing collections to restore from
2021-02-25T13:26:27.776+0800    reading metadata for bianchengbang.course from dump\bianchengbang\course.metadata.json
2021-02-25T13:26:27.791+0800    restoring bianchengbang.course from dump\bianchengbang\course.bson
2021-02-25T13:26:27.800+0800    restoring indexes for collection bianchengbang.course from metadata
2021-02-25T13:26:27.813+0800    finished restoring bianchengbang.course (3 documents)

2021-02-25T13:26:27.814+0800    done