1. 程式人生 > >Mongo 備份與恢復

Mongo 備份與恢復

field 刪除 恢復備份 完成後 一行 window 環境變量 mongod 例如

備份與恢復

如果沒有配置環境變量,需要進入bin目錄,比如Windows:安裝目錄\MongoDB\Server\3.6\bin

備份

mongodump -h dbhost -d dbname -o dbdirectory

mongodump -h IP [--port 端口] [-u 用戶名 -p 密碼] -d 數據庫 -o 文件存儲路徑

-h:MongDB所在服務器地址,例如:127.0.0.1,當然也可以指定端口號:127.0.0.1:27017

-d:需要備份的數據庫實例,例如:test

-o:備份的數據存放位置,例如:c:\data\dump,當然該目錄需要提前建立,在備份完成後,系統自動在dump目錄下建立一個test目錄,這個目錄裏面存放該數據庫實例的備份數據。

比如:mongodump -h 127.0.0.1:27017 -d test -o C:\MongoDB\Backup,備份後在C:\MongoDB\Backup創建備份目錄test。

恢復

mongorestore -h <hostname><:port> -d dbname <path>

mongorestore -h IP [--port 端口] [-u 用戶名 -p 密碼] -d 數據庫 [--drop] 文件存在路徑

--host <:port>, -h <:port>:MongoDB所在服務器地址,默認為: localhost:27017

--db , -d :需要恢復的數據庫實例,例如:test,當然這個名稱也可以和備份時候的不一樣,比如test2

--drop:恢復的時候,先刪除當前數據,然後恢復備份的數據。就是說,恢復後,備份後添加修改的數據都會被刪除,慎用哦!

<path>:mongorestore 最後的一個參數,設置備份數據所在位置,例如:c:\data\dump\test。

--dir:指定備份的目錄。你不能同時指定 <path> 和 --dir 選項。

比如:mongorestore -h 127.0.0.1:27017 -d test C:\MongoDB\Backup\test

導出

mongoexport -d dbname -c collectionname -o filepath --type json/csv -f field

mongoexport -h IP [--port 端口] [-u 用戶名 -p 密碼] -d 數據庫 -c 表名 [-f 字段 -q 條件導出] --csv/json -o 文件存儲路徑

-d :數據庫名

-c :collection名

-o :輸出的文件名

--type : 輸出的格式,默認為json

-f :輸出的字段,如果-type為csv,則需要加上-f "字段名"

如果是Windows下,需要以雙引號"filepath",比如:mongoexport -d dbname -c collectionname -o "導出的文件存儲全路徑.json" --type=json

導入

mongoimport -d dbname -c collectionname --file "導入的文件存儲全路徑.json " --type=json

mongoimport -h IP [--port 端口] [-u 用戶名 -p 密碼] -d 數據庫 -c 表名 --upsert [--drop] 文件存在路徑

-d :數據庫名

-c :collection名

--type :導入的格式默認json

-f :導入的字段名

--headerline :如果導入的格式是csv,則可以使用第一行的標題作為導入的字段

--file :要導入的文件

mongodb的備份與恢復,通過參數的搭配相當強大,雖然有點麻煩。

Mongo 備份與恢復