MongoDB 備份(mongodump)與恢復(mongorestore)

MongoDB 備份(mongodump)與恢復(mongorestore)


MongoDB資料備份

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

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

語法

mongodump命令指令碼語法如下:

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

    MongoDB 所在伺服器地址,例如: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 命令可選引數列表如下所示:

語法描述例項
mongodump --host HOST_NAME --port PORT_NUMBER該命令將備份所有MongoDB資料mongodump --host itread01.com --port 27017
mongodump --dbpath DB_PATH --out BACKUP_DIRECTORYmongodump --dbpath /data/db/ --out /data/backup/
mongodump --collection COLLECTION --db DB_NAME該命令將備份指定資料庫的集合。mongodump --collection mycol --db test

MongoDB資料恢復

mongodb使用 mongorestore 命令來恢復備份的資料。

語法

mongorestore命令指令碼語法如下:

>mongorestore -h <hostname><:port> -d dbname <path>
  • --host <:port>, -h <:port>:

    MongoDB所在伺服器地址,預設為: localhost:27017

  • --db , -d

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

  • --drop:

    恢復的時候,先刪除當前資料,然後恢復備份的資料。就是說,恢復後,備份後新增修改的資料都會被刪除,慎用哦!

  • <path>:

    mongorestore 最後的一個引數,設定備份資料所在位置,例如:c:\data\dump\test。

    你不能同時指定 <path> 和 --dir 選項,--dir也可以設定備份目錄。

  • --dir:

    指定備份的目錄

    你不能同時指定 <path> 和 --dir 選項。

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

>mongorestore

執行以上命令輸出結果如下:

MongoDB資料恢復