其他分享
首页 > 其他分享> > mongodump 和mongorestore

mongodump 和mongorestore

作者:互联网

--备份单个表

mongodump -u  superuser -p 123456  --port 27017 --authenticationDatabase admin -d myTest -c d -o /backup/mongodb/myTest_d_bak_201507021701.bak



--备份单个库

mongodump  -u  superuser -p 123456 --port 27017  --authenticationDatabase admin -d myTest -o  /backup/mongodb/



--备份所有库

mongodump  -u  superuser -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  superuser -p 123456 --port 27017  --authenticationDatabase admin -d myTest   /backup/mongodb/



--恢复所有库:

mongorestore   -u  superuser -p 123456 --port 27017  --authenticationDatabase admin  /root/bak



--恢复单表

mongorestore -u  superuser -p 123456  --authenticationDatabase admin -d myTest -c d /backup/mongodb/myTest_d_bak_201507021701.bak/myTest/d.bson

 

注:

1、mongorestore恢复数据默认是追加,如打算先删除后导入,可以加上--drop参数,不过添加--drop参数后,会将数据库数据清空后再导入,如果数据库备份后又新加入了数据,也会将新加的数据删除,它不像mysql有一个存在的判断。

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

mongodump  --dbpath  /data/db

3、在备节点使用mongodump备份时,必须加上--oplog参数,否则备份的状态不会和任何其他集群成员的状态相吻合,另外在恢复时还需创建一份oplog,用来恢复备份期间所做的操作。

恢复:

1、将复制集中要恢复的节点移除

rs.remove("10.10.17.26:27000")

2、运行mongorestore --oplogReplay命令

mongorestore --host 10.10.17.26 --port  27000 --oplogReplay  /data/mongodbbackup/20150820/

3、创建oplog

use local 

db.createCollection("oplog.rs", {"capped" : true, "size" : 10000000})

4、恢复oplog

mongorestore --host 10.10.17.26 --port  27000 -d local -c oplog.rs  /data/mongodbbackup/20150820/oplog.bson

5、将该节点加入到复制集 

rs.add("10.10.17.26:27000")

4、mongodump与mongoexport的区别:

标签:myTest,mongorestore,mongodump,port,oplog,备份
来源: https://www.cnblogs.com/cchilei/p/12786291.html