--备份单个表 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
注:html
一、mongorestore恢复数据默认是追加,如打算先删除后导入,能够加上--drop参数,不过添加--drop参数后,会将数据库数据清空后再导入,若是数据库备份后又新加入了数据,也会将新加的数据删除,它不像mysql有一个存在的判断。mysql
二、mongodump在mongo关闭时,也是能够备份的,不过须要指定数据目录,命令为:sql
mongodump --dbpath /data/db
三、在备节点使用mongodump备份时,必须加上--oplog参数,不然备份的状态不会和任何其余集群成员的状态相吻合,另外在恢复时还需建立一份oplog,用来恢复备份期间所作的操做。mongodb
恢复: 一、将复制集中要恢复的节点移除 rs.remove("10.10.17.26:27000") 二、运行mongorestore --oplogReplay命令 mongorestore --host 10.10.17.26 --port 27000 --oplogReplay /data/mongodbbackup/20150820/ 三、建立oplog use local db.createCollection("oplog.rs", {"capped" : true, "size" : 10000000}) 四、恢复oplog mongorestore --host 10.10.17.26 --port 27000 -d local -c oplog.rs /data/mongodbbackup/20150820/oplog.bson 五、将该节点加入到复制集 rs.add("10.10.17.26:27000")
四、mongodump与mongoexport的区别:数据库