MongoDB 教學課程login
MongoDB 教學課程
作者:php.cn  更新時間:2022-04-21 17:49:03

MongoDB 備份與復原



MongoDB資料備份

在Mongodb中我們使用mongodump指令來備份MongoDB資料。該命令可以導出所有資料到指定目錄中。

mongodump指令可以透過參數指定匯出的資料量級轉存的伺服器。

語法

mongodump指令腳本語法如下:

>mongodump -h dbhost -d dbname -o dbdirectory
  • -h:

    MongDB所在伺服器位址,例如:127.0.0.1,當然也可以指定連接埠號碼:127.0.0.1:27017

  • -d:

    需要備份的資料庫實例,例如:test

  • -o:

    備份的資料存放位置,例如:c:\data\dump,當然該目錄需要提前建立,備份完成後,系統會自動在dump目錄下建立test目錄,而這個目錄裡面存放該資料庫實例的備份資料。

實例

在本機使用 27017 啟動你的mongod服務。開啟命令提示字元窗口,進入MongoDB安裝目錄的bin目錄輸入命令mongodump:

>mongodump

執行以上命令後,用戶端會連接到ip為127.0.0.1 連接埠號碼為27017 的MongoDB服務上,並備份所有資料到bin/dump/ 目錄中。指令輸出結果如下:

MongoDB数据备份

mongodump 指令可選參數清單如下所示:

##該指令將備份所有MongoDB資料 mongodump --host w3cschool.cc --port 27017#mongodump --dbpath DB_PATH --out BACKUP_DIRECTORY#mongodump -- dbpath /data/db/ --out /data/backup/mongodump --collection COLLECTION --db DB_NAME此指令將備份指定資料庫的集合。 mongodump --collection mycol --db test#

MongoDB資料還原

mongodb使用 mongorerstore 指令來還原備份的資料。

語法

mongorestore指令腳本語法如下:

>mongorestore -h dbhost -d dbname --directoryperdb dbdirectory
  • -h:

    MongoDB所在伺服器位址

  • -d:

    需要還原的資料庫實例,例如:test,當然這個名稱也可以和備份時候的不一樣,例如test2

  • --directoryperdb:

    #備份資料所在位置,例如:c:\data\dump\test,這裡為什麼要多加一個test,而不是備份時候的dump,讀者自己看提示吧!

  • --drop:

    恢復的時候,先刪除目前數據,然後再恢復備份的數據。是說,恢復後,備份後加入修改的資料都會被刪除,慎用!

接下來我們執行以下指令:

>mongorestore

執行上述指令輸出結果如下:

MongoDB数据恢复

語法描述實例
mongodump --host HOST_NAME --port PORT_NUMBER