Mongodb开启认证时的备份和恢复(mongodump 和mongorestore )

mongodump与mongoexport的区别了解

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

--备份单个表
mongodump -u  root -p 123456  --port 27017 --authenticationDatabase admin -d bill -c d -o /root/mongodb/bill_d_bak_201507021701.bak

--备份单个库
mongodump  -u  root -p 123456 --port 27017  --authenticationDatabase admin -d bill -o  /root/mongodb/

--备份所有库
mongodump  -u  root -p 123456 --authenticationDatabase admin  --port 27017 -o /root/bak 

--备份所有库推荐使用添加--oplog参数的命令,这样的备份是基于某一时间点的快照,只能用于备份全部库时才可用,单库和单表不适用:
mongodump -h 127.0.0.1 --port 27017   --oplog -o  /root/bak 

--同时,恢复时也要加上--oplogReplay参数,具体命令如下(下面是恢复单库的命令):
mongorestore  -d swrd --oplogReplay  /home/mongo/swrdbak/swrd/

--恢复单个库:
mongorestore  -u  sroot -p 123456 --port 27017  --authenticationDatabase admin -d bill   /root/mongodb/

--恢复所有库:
mongorestore   -u  root -p 123456 --port 27017  --authenticationDatabase admin  /root/bak

--恢复单表
mongorestore -u  root -p 123456  --authenticationDatabase admin -d bill -c d /root/mongodb/bill_d_bak_201507021701.bak/bill/d.bson
1234567891011121314151617181920212223

mongodump在mongo关闭时,也是可以备份的,不过需要指定数据目录,命令为:

mongodump  --dbpath  /data/db

转载:https://blog.csdn.net/weixin_45444133/article/details/105099806

posted @ 2020-10-12 22:32  天宇轩-王  阅读(799)  评论(0编辑  收藏  举报