--備份單個表 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
注:mysql
一、mongorestore恢復數據默認是追加,如打算先刪除後導入,能夠加上--drop參數,不過添加--drop參數後,會將數據庫數據清空後再導入,若是數據庫備份後又新加入了數據,也會將新加的數據刪除,它不像mysql有一個存在的判斷。sql
二、mongodump在mongo關閉時,也是能夠備份的,不過須要指定數據目錄,命令爲:mongodb
mongodump --dbpath /data/db
三、在備節點使用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")
四、mongodump與mongoexport的區別:json