MongoDB 備份與恢復(fù)

2022-08-10 13:45 更新

MongoDB 備份(mongodump)與恢復(fù)(mongorerstore)


MongoDB數(shù)據(jù)備份

在Mongodb中我們使用mongodump命令來備份MongoDB數(shù)據(jù)。該命令可以導(dǎo)出所有數(shù)據(jù)到指定目錄中。

mongodump命令可以通過參數(shù)指定導(dǎo)出的數(shù)據(jù)量級轉(zhuǎn)存的服務(wù)器。

語法

mongodump命令腳本語法如下:

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

    MongDB所在服務(wù)器地址,例如:127.0.0.1,當(dāng)然也可以指定端口號:127.0.0.1:27017

  • -d:

    需要備份的數(shù)據(jù)庫實例,例如:test

  • -o:

    備份的數(shù)據(jù)存放位置,例如:c:\data\dump,當(dāng)然該目錄需要提前建立,在備份完成后,系統(tǒng)自動在dump目錄下建立一個test目錄,這個目錄里面存放該數(shù)據(jù)庫實例的備份數(shù)據(jù)。

實例

在本地使用 27017 啟動你的mongod服務(wù)。打開命令提示符窗口,進(jìn)入MongoDB安裝目錄的bin目錄輸入命令mongodump:

>mongodump

執(zhí)行以上命令后,客戶端會連接到ip為 127.0.0.1 端口號為 27017 的MongoDB服務(wù)上,并備份所有數(shù)據(jù)到 bin/dump/ 目錄中。命令輸出結(jié)果如下:

MongoDB數(shù)據(jù)備份

mongodump 命令可選參數(shù)列表如下所示:

語法描述實例
mongodump --host HOST_NAME --port PORT_NUMBER該命令將備份所有MongoDB數(shù)據(jù)mongodump --host w3cschool.cn --port 27017
mongodump --dbpath DB_PATH --out BACKUP_DIRECTORY mongodump --dbpath /data/db/ --out /data/backup/
mongodump --collection COLLECTION --db DB_NAME該命令將備份指定數(shù)據(jù)庫的集合。mongodump --collection mycol --db test

MongoDB數(shù)據(jù)恢復(fù)

mongodb使用 mongorerstore 命令來恢復(fù)備份的數(shù)據(jù)。

語法

mongorestore命令腳本語法如下:

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

    MongoDB所在服務(wù)器地址

  • -d:

    需要恢復(fù)的數(shù)據(jù)庫實例,例如:test,當(dāng)然這個名稱也可以和備份時候的不一樣,比如test2

  • --directoryperdb:

    備份數(shù)據(jù)所在位置,例如:c:\data\dump\test,這里為什么要多加一個test,而不是備份時候的dump,讀者自己查看提示吧!

  • --drop:

    恢復(fù)的時候,先刪除當(dāng)前數(shù)據(jù),然后恢復(fù)備份的數(shù)據(jù)。就是說,恢復(fù)后,備份后添加修改的數(shù)據(jù)都會被刪除,慎用哦!

接下來我們執(zhí)行以下命令:

>mongorestore

執(zhí)行以上命令輸出結(jié)果如下:

MongoDB數(shù)據(jù)恢復(fù)

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號