MongoDB 備份(mongodump)與恢復(mongorestore)
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/ 目錄中。命令輸出結果如下:
mongodump 命令可選參數列表如下所示:
語法 | 描述 | 實例 |
---|---|---|
mongodump --host HOST_NAME --port PORT_NUMBER | 該命令將備份所有MongoDB數據 | mongodump --host xuhuhu.com --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使用 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
執行以上命令輸出結果如下: