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 records
mongoimport命令
导入可以使用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 documents
mongodump命令
运行时备份可以使用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\test
mongorestore命令
运行时恢复可以使用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" 转载请保留原文链接及作者。