1. 程式人生 > 其它 >Mongodb 備份與恢復

Mongodb 備份與恢復

備份與恢復

1.工具介紹

mongodump/mongorestore
mongoexport/mongoimport

2.應用場景

定時備份,全量備份 mongodump/mongorestore bson gzip
分析資料,遷移資料 mongoexport/mongoimport json csv

3.mongodump備份單點資料

全備資料庫

mongodump --port 28017 -o mongo_backup
mongodump --host="dba/10.0.0.51:28017,10.0.0.51:28018,10.0.0.51:28019" -o mongo_backup

只備份某個資料庫

mongodump --host="dba/10.0.0.51:28017,10.0.0.51:28018,10.0.0.51:28019" -d oldboy -o mongo_backup 

只備份某個庫下的某個集合

mongodump --host="dba/10.0.0.51:28017,10.0.0.51:28018,10.0.0.51:28019" -d oldboy -c user_info -o mongo_backup

壓縮格式

mongodump --host="dba/10.0.0.51:28017,10.0.0.51:28018,10.0.0.51:28019" -o mongo_backup --gzip 

4.mongorestore恢復

恢復bson格式的資料

mongorestore --host="dba/10.0.0.51:28017,10.0.0.51:28018,10.0.0.51:28019"  mongo_backup

恢復gzip格式的資料

mongorestore --host="dba/10.0.0.51:28017,10.0.0.51:28018,10.0.0.51:28019"  mongo_backup --gzip

遇到重複的刪除再匯入

mongorestore --host="dba/10.0.0.51:28017,10.0.0.51:28018,10.0.0.51:28019"  mongo_backup --gzip --drop

模擬執行

mongorestore --host="dba/10.0.0.51:28017,10.0.0.51:28018,10.0.0.51:28019"  mongo_backup --gzip --drop --dryRun

恢復到指定庫

mongorestore --host="dba/10.0.0.51:28017,10.0.0.51:28018,10.0.0.51:28019"  --dir=./mongo_backup/oldboy -d oldboy --drop --gzip

恢復到指定集合: 恢復到指定集合那麼資料格式必須是bson格式

mongorestore --host="dba/10.0.0.51:28017,10.0.0.51:28018,10.0.0.51:28019"  --dir=./mongo_backup/oldboy/cook.bson -d oldboy -c cook --drop

5.bsog格式轉換成json格式

bsondump --outFile=cook.json cook.bson

6.mongoexport-匯出成json和csv

匯出指定集合為json格式

mongoexport --host="dba/10.0.0.51:28017,10.0.0.51:28018,10.0.0.51:28019" -d test -c user_info -o mongo_backup/test.user_info.json

匯出成csv格式

mongoexport --host="dba/10.0.0.51:28017,10.0.0.51:28018,10.0.0.51:28019" -d test -c user_info --type=csv --fields=name,age,host -o mongo_backup/test.user_info.csv

7.mongoimport-恢復資料

從json格式恢復資料

mongoimport --host="dba/10.0.0.51:28017,10.0.0.51:28018,10.0.0.51:28019" -d test -c user_info mongo_backup/test.user_info.json --drop   

從csv格式恢復資料

mongoimport --host="dba/10.0.0.51:28017,10.0.0.51:28018,10.0.0.51:28019" --type=csv --headerline -d test -c user_info mongo_backup/test.user_info.csv --drop