Mongo 備份與恢復
備份與恢復
如果沒有配置環境變量,需要進入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 備份與恢復