MongoDB——数据备份与还原

数据备份:

打开命令提示符,进入安装好的MongoDB的bin目录下:

位置如下:

MongoDB——数据备份与还原_第1张图片


输入命令:mongodump -h 127.0.0.1:27017 -d runoob -o D:\mongo\data\dump

其中:

-h:MongDB所在服务器地址,例如:127.0.0.1,当然也可以指定端口号

-d:需要备份的数据库实例,例如:runoob  (数据库名称,可以备份该数据库下所有集合)

-o:备份的数据存放位置,例如:D:\mongo\data\dump ,在备份完成后,系统自动在dump目录下建立一个runoob目录,这个目录里面存放该数据库实例的备份数据。

执行过程剪影如下:

MongoDB——数据备份与还原_第2张图片

查看备份后,是否有示例数据库的内容,存放到dump文件夹下:


确实如我们所愿数据备份到dump文件夹下面了。

数据恢复:

方案1: 直接拷贝dump中的文件到data目录下,重启mongodb服务即可

方案2:使用mongorestore命令,进行数据恢复

第一种方案比较简单,我们这里介绍第二种方案,采用命令的方式

为了方便测试,我们先将数据库删除

在mongodb shell中输入命令

installed, will zero-out data files
MongoDB shell version: 3.0.4
connecting to: test
> use runoob
switched to db runoob
>
> db.collections
runoob.collections
> show collections
col
flatJson
levelJson
postcollection
posts
runoob
system.indexes
users
> db.dropDatabase()
{ "dropped" : "runoob", "ok" : 1 }
> show collections
>

数据库删除成功

使用备份的数据进行还原

同样打开命令提示符,进入安装好的MongoDB的bin目录下,然后输入命令

 mongorestore -h 127.0.0.1:27017 -d runoob  D:\mongo\data\dump\runoob

-h:MongoDB所在服务器地址

-d:需要恢复的数据库实例,例如:twang,当然这个名称也可以和备份时候的不一样,比如test2

--directoryperdb:备份数据所在位置,例如:D:\mongo\data\dump\runoob

注意:这里没有--directoryperdb,尝试过加上该命令,报错,数据恢复失败。去掉则成功恢复数据

执行过程剪影:

MongoDB——数据备份与还原_第3张图片

在shell中查看 show collections,所有的数据集合恢复成功!

你可能感兴趣的:(MongoDB)