MongoDB——数据备份与还原

来源:互联网 发布:excel数据拟合 编辑:程序博客网 时间:2024/05/29 14:09

数据备份:

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

位置如下:



输入命令: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目录,这个目录里面存放该数据库实例的备份数据。

执行过程剪影如下:


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


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

数据恢复:

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

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

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

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

在mongodb shell中输入命令

installed, will zero-out data filesMongoDB shell version: 3.0.4connecting to: test> use runoobswitched to db runoob>> db.collectionsrunoob.collections> show collectionscolflatJsonlevelJsonpostcollectionpostsrunoobsystem.indexesusers> 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,尝试过加上该命令,报错,数据恢复失败。去掉则成功恢复数据

执行过程剪影:


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

0 0
原创粉丝点击