MongoDB備份與恢復

       mongodb和mysql很相似,那麼它是否也和mysql一樣可以備份數據庫和恢復數據庫呢?那是當然的,下面將簡單介紹mongodb的備份和恢復。

1.MongoDB備份

備份指定庫:
mongodump -h ip -d dbname -o dir     

-h後面跟服務器ip,-d後面跟database名字,不加則備份所有庫,-o後指定備份到哪裏,它是一個目錄

例如:mongodump -d admin -o /tmp/mongobackup/   #將admin庫備份到/tmp/mongobackup目錄下

備份所有庫:
mongodump -h ip -o dir

備份指定集合:
mongodump -d mydb -c test -o /tmp/test    

-c指定集合名字

導出集合爲json文件:
mongoexport -d mydb -c test -o /tmp/test.json

-o後面跟的是一個文件名字不是目錄

說明:mongodump備份test集合會生成test.bson和test.metadata.json兩個文件,無法通過查看這兩個文件來查看test集合的文檔內容。而mongoexport備份test集合是自己命名的一個.json文件,該文件的內容就是test集合的文檔內容,可以通過查看該.json文件看到test集合的所有文檔內容。


2.MongoDB恢復

恢復所有庫:
mongorestore --drop dir/ 

其中dir是備份所有庫的目錄名字,其中--drop可選,意思是當恢復之前先把之前的數據刪除,不建議使用

恢復指定庫:
mongorestore -d mydbdir/ 

-d跟要恢復的庫名字,dir就是該庫備份時所在的目錄

例如:mongorestore -d /tmp/mongobackup/admin/   #恢復admin數據庫

恢復集合:
mongorestore -d mydb -c test dir/mydb/test.bson 

-c後面跟要恢復的集合名字,dir是備份mydb庫時生成文件所在路徑,這裏需要集合bson文件的路徑而不是目錄

導入集合:
mongoimport -d mydb -c test --file /tmp/test.json

mongoimport和mongoexport是相對的




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章