資料備份:
開啟命令提示字元,進入安裝好的MongoDB的bin目錄下:
位置如下:
輸入命令:mongodump -h 127.0.0.1:27017 -d runoob -o D:\mongo\data\dump
其中:
-h:MongDB所在伺服器位址,例如:127.0.0.1,當然也可以指定連接埠號碼
-d:需要備份的資料庫執行個體,例如:runoob (資料庫名稱,可以備份該資料庫下所有集合)
-o:備份的資料存放位置,例如:D:\mongo\data\dump ,在備份完成後,系統自動在dump目錄下建立一個runoob目錄,這個目錄裡面存放該資料庫執行個體的備份資料。
執行過程剪影如下:
查看備份後,是否有樣本資料庫的內容,存放到dump檔案夾下:
確實如我們所願資料備份到dump檔案夾下面了。 資料恢複:
方案1: 直接拷貝dump中的檔案到data目錄下,重啟mongodb服務即可
方案2:使用mongorestore命令,進行資料恢複
第一種方案比較簡單,我們這裡介紹第二種方案,採用命令的方式
為了方便測試,我們先將資料庫刪除
在mongodb shell中輸入命令
installed, will zero-out data filesMongoDB shell version: 3.0.4connecting to: test> use runoobswitched to db runoob>> db.collectionsrunoob.collections> show collectionscolflatJsonlevelJsonpostcollectionpostsrunoobsystem.indexesusers> db.dropDatabase(){ "dropped" : "runoob", "ok" : 1 }> show collections>
資料庫刪除成功
使用備份的資料進行還原
同樣開啟命令提示字元,進入安裝好的MongoDB的bin目錄下,然後輸入命令
mongorestore -h 127.0.0.1:27017 -d runoob D:\mongo\data\dump\runoob
-h:MongoDB所在伺服器位址
-d:需要恢複的資料庫執行個體,例如:twang,當然這個名稱也可以和備份時候的不一樣,比如test2
--directoryperdb:備份資料所在位置,例如:D:\mongo\data\dump\runoob
注意:這裡沒有--directoryperdb,嘗試過加上該命令,報錯,資料恢複失敗。去掉則成功恢複資料
執行過程剪影:
在shell中查看 show collections,所有的資料集合恢複成功。