mongodump, mongorestore

  

通常来说针对集合使用mongoexport导出,而Mongodump可以单表,也可以整库。同时mongoexport输出的JSON比Mongodump的BSON可读性更高,JSON文件可以直接进行读取操,操作拼接指令来插入还原数据。

  

——备份单个表(用户死尸,密码中的,导出的是lych_db库里的aaa collecion)
mongodump - u死尸- p中的端口27017——authenticationDatabase admin - d lych_db - c aaa - o/tmp/abc.bak

  

- - -备份单库则去掉上面的- c aaa则可

  

- - - - -而备份所有库,则再去掉- d lych_db

  

(——备份所有库推荐使用添加——oplog参数(基于某一时间点的快照),只能用于备份全部库时,单库和单表不适用:

  

mongodump - h 127.0.0.1——端口80000 oplog - o/人体/abc。贝克(部分配置文件可以对bond_ip做了相应配置,需要注意)

  

——恢复时要加上——oplogReplay参数:
mongorestore - h 127.0.0.1——端口80000 oplogReplay/tmp)

  

——恢复单个库:
mongorestore - u xx - p xxx——端口80000 authenticationDatabase admin - d xxx/tmp

  

——恢复所有库:
mongorestore - u超级用户- p 123456——80000端口authenticationDatabase admin/tmp/拍
<强>(如果备份的时候加了——gzip参数,那么恢复的时候也要带上——gzip)

  

——恢复单表
mongorestore xxx - u - p xxx——authenticationDatabase admin - d xxx - c xx/xxx.bson

  

mongorestore默认是追加,下降——参数后,会将数据库数据清空后再导入,如果数据库备份后又新加入了数据,也会将新加的数据删除

  

——mongo在关闭时也可以备份,只需要找到数据目录:
mongodump——dbpath/数据/db

  

? mongodump导出的是bson格式,是二进制形式,不过可以使用mongo自带的bsondump命令查看里面的数据,而mongoexport导出的则是文本,可以是csv, json格式。
? json可读性强但体积较大,bson则是二进制文件,体积小但几乎没有可读性。
?在一些mongodb版本之间,bson格式可能会随版本不同而有所不同,所以不同版本之间用mongodump/mongorestore可能不会成功,具体要看版本之间的兼容性。当无法使用bson进行跨版本的数据迁移的时候,使用json格式即mongoexport/mongoimport是一个可选的项。
跨版本的mongodump/mongorestore个人并不推荐,实在要做请先检查文档看两个版本是否兼容(大部分时候是的)。
? json虽然具有较好的跨版本通用性,但其只保留了数据部分,不保留索引,账户等其他基础信息。使用时应该注意。

mongodump, mongorestore