Mongodb的入门(5)备份与还原
这次主要说mongodb的备份:mongodump
参考菜鸟:http://www.runoob.com/mongodb/mongodb-mongodump-mongorestore.html
备份和还原用到的参数:
-h:MongDB所在服务器地址,例如:127.0.0.1,当然也可以指定端口号
-d:需要备份的数据库实例 huhy
-o:备份的数据存放位置,在备份完成后,系统自动在dump目录下建立一个huhy目录,这个目录里面存放该数据库实例的备份数据。
-u:开启权限验证的数据库的用户名:huhy
-p:开启权限验证的数据库密码:123456
--authenticationDatabase:mongodb开启权限验证的数据库
-c:指明collection的名字
-q:指明导出数据的过滤条件
-oplog:
备份的命令解析:
--备份所有库 只要密码验证通过,不指定备份库就会把所有库数据做备份 mongodump -u huhy -p huhy123 --authenticationDatabase admin --port 27017 -o D:\company\mongodb\dump --备份单个库 mongodump -u yang -p 123456 -h 127.0.0.1 --port 27017 --authenticationDatabase huhy -d huhy -o D:\company\mongodb\dump --备份单个表 mongodump -u yang -h 127.0.0.1 -p 123456 --port 27017 --authenticationDatabase huhy -d huhy -c a -o /backup/mongodb/myTest_d_bak_201507021701.bak --备份所有库推荐使用添加--oplog参数的命令,这样的备份是基于某一时间点的快照,只能用于备份全部库时才可用,单库和单表不适用: 备份的数据是json格式 mongodump -u huhy -p huhy123 -h 127.0.0.1 --port 27017 --authenticationDatabase admin -d huhy -oplog -o D:\company\mongodb\dump --备份所有库 默认放在 MONGODB_HOME/bin/dump 不加 --authenticationDatabase 默认认证的库就是 admin mongodump -u huhy -p huhy123 --这个用户是在admin里的用户,如果使用yang这个用户,必须指定认证库,不然报认证失败
还原:mongorestore
--同时,恢复时也要加上--oplogReplay参数,具体命令如下(下面是恢复单库的命令): mongorestore -u yang -p 123456 --port 27017 --authenticationDatabase huhy -d huhy --oplogReplay D:\company\mongodb\dump\huhy --恢复单个库: mongorestore -u yang -p 123456 --port 27017 --authenticationDatabase huhy -d huhy D:\company\mongodb\dump --恢复所有库: mongorestore -u yang -p 123456 --port 27017 --authenticationDatabase huhy D:\company\mongodb\dump --恢复单表 mongorestore -u yang -p 123456 --authenticationDatabase huhy -d huhy -c a D:\company\mongodb\dump\huhy\a.bson
mongdump和mongoexport对比:
1.mongodump导出的是bson格式,是二进制形式,不过可以使用mongo自带的bsondump命令查看里面的数据,而mongoexport导出的则是文本,可以是csv、json格式。 2。JSON可读性强但体积较大,BSON则是二进制文件,体积小但对人类几乎没有可读性。 3.在一些mongodb版本之间,BSON格式可能会随版本不同而有所不同,所以不同版本之间用mongodump/mongorestore可能不会成功,具体要看版本之间的兼容性。当无法使用BSON进行跨版本的数据迁移的时候,使用JSON格式即mongoexport/mongoimport是一个可选项。跨版本的mongodump/mongorestore个人并不推荐,实在要做请先检查文档看两个版本是否兼容(大部分时候是的)。 JSON虽然具有较好的跨版本通用性,但其只保留了数据部分,不保留索引,账户等其他基础信息。使用时应该注意。
mongorestore和mongoinport与此同理
本文来自博客园,作者:huhy,转载请注明原文链接:https://www.cnblogs.com/huhongy/p/9412373.html

浙公网安备 33010602011771号