MongoDB学习笔记13-MongoDB备份
mongoexport命令
导出可以使用mongoexport命令,导出会中断其它操作。常用参数:
-d:指明要导出的数据库-c:指明要导出的集合-o:指明要导出的文件名--host:指明数据库主机地址(不写默认就是本机)--port:指明数据库端口(不写默认就是27017)
如下:导出test数据库中的person集合
C:\Users\bin>mongoexport -d test -c person -o C:\data\person.json
2015-06-02T14:43:02.493+0800 connected to: localhost
2015-06-02T14:43:02.495+0800 exported 6 recordsmongoimport命令
导入可以使用mongoimport命令,导入也会中断其它操作。常用参数:
--db:指明要导入到的数据库(如果数据库不存在会自动创建)--collection:指明要导入到的集合(如果集合不存在会自动创建)--file:数据文件地址--host:指明数据库主机地址(不写默认就是本机)--port:指明数据库端口(不写默认就是27017)
如下:导入数据到test数据库中的person集合
C:\Users\bin>mongoimport --db test --collection person2 --file C:\data\person.json
2015-06-02T14:46:27.687+0800 connected to: localhost
2015-06-02T14:46:27.691+0800 imported 6 documentsmongodump命令
运行时备份可以使用mongodump命令,它不会中断其它操作,但可能会遗漏数据,因为可能内存中的数据尚未写回数据库中。
-h:MongoDB所在服务器地址,例如:127.0.0.1,当然也可以指定端口号:127.0.0.1:27017-d:需要备份的数据库实例,例如:test-o:备份的数据存放位置,例如:c:\data\dump,当然该目录需要提前建立,在备份完成后,系统自动在dump目录下建立一个test目录,这个目录里面存放该数据库实例的备份数据。
如下:备份test数据库。
C:\Users\bin>mongodump --host 127.0.0.1:27017 -d test -o C:\data\testmongorestore命令
运行时恢复可以使用mongorestore命令。
--host <:port>, -h <:port>:MongoDB所在服务器地址,默认为:localhost:27017。--db , -d:需要恢复的数据库实例,例如:test。--drop:恢复的时候,先删除当前数据,然后恢复备份的数据。就是说,恢复后,备份后添加修改的数据都会被删除,慎用!<path>:mongorestore设置备份数据所在位置,例如:c:\data\dump\test。--dir:指定备份的目录。
你不能同时指定<path>和--dir选项。
如下:恢复test数据库
C:\Users\bin>mongorestore --host 127.0.0.1:27017 -d test -directoryperdb C:\data\test\test数据修复
当停电等不可逆转情况发生,由于MongoDB的存储结构导致会产生垃圾数据,这时候就可以使用数据库的自我修复,命令为db.repairDatabase()。
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 bin07280@qq.com
文章标题:MongoDB学习笔记13-MongoDB备份
文章字数:690
本文作者:Bin
发布时间:2017-07-17, 23:21:37
最后更新:2019-08-06, 00:07:35
原始链接:http://coolview.github.io/2017/07/17/MongoDB/MongoDB%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B013-MongoDB%E5%A4%87%E4%BB%BD/版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。