天天看點

mongodb導入導出,備份與恢複

mongodb提供了mongodump/mongorestore,mongoexport/mongoimport兩套機制進行資料備份和恢複,其中mongodump主要進行整庫備份,mongoexport則主要進行資料集導出。

一、MongoDB資料導入與導出 1、導出工具:mongoexport     (1)概念:         mongoDB中的mongoexport工具可以把一個collection導出成JSON格式或CSV格式的檔案。可以通過參數指定導出的資料項,也可以根據指定的條件導出資料。     (2)文法:         mongoexport -d dbname -c collectionname -o file --type json/csv -f field         參數說明:             -d :資料庫名             -c :collection資料集名             -o :輸出的檔案名             --type : 輸出的格式,預設為json             -f :輸出的字段,如果-type為csv,則需要加上-f "字段名"     (3)示例:         sudo mongoexport -d mongotest -c users -o /home/python/Desktop/mongoDB/users.json --type json -f  "_id,user_id,user_name,age,status"   2、資料導入:mongoimport     (1)文法:         mongoimport -d dbname -c collectionname --file filename --headerline --type json/csv -f field         參數說明:             -d :資料庫名             -c :collection名             --type :導入的格式預設json             -f :導入的字段名             --headerline :如果導入的格式是csv,則可以使用第一行的标題作為導入的字段             --file :要導入的檔案       (2)示例:         sudo mongoimport -d mongotest -c users --file /home/mongodump/articles.json --type json   二、MongoDB備份與恢複

這裡可以對mongodb上的檔案進行導入導出。

1、MongoDB資料庫備份     (1)文法:         mongodump -h dbhost -d dbname -o dbdirectory         參數說明:             -h: MongDB所在伺服器位址,例如:127.0.0.1,當然也可以指定端口号:127.0.0.1:27017             -d: 需要備份的資料庫執行個體,例如: wx_applet             -o: 備份的資料存放位置,例如:/tmp/mongodb/,當然該目錄需要提前建立,這個目錄裡面存放該資料庫執行個體的備份資料。     (2)執行個體:

          mkdir -p /tm/mongodb

        ./mongodump -h 192.168.2.182:27017   -d  wx_applet  -o  /tmp/mongodb/data.dmp         - 2、MongoDB資料庫恢複     (1)文法:         mongorestore -h dbhost -d dbname --dir dbdirectory           參數或名:             -h: MongoDB所在伺服器位址             -d: 需要恢複的資料庫執行個體,例如:test,當然這個名稱也可以和備份時候的不一樣,比如test2             --dir: 備份資料所在位置,例如:/home/mongodump/itcast/             --drop: 恢複的時候,先删除目前資料,然後恢複備份的資料。就是說,恢複後,備份後添加修改的資料都會被删除,慎用!     (2)執行個體:

           将備份的資料庫檔案data.dmp上傳到新的mongodb伺服器 /tmp/mongodb/目錄下,執行指令:

         ./mongorestore  -d  wx_applet  --dir  /tmp/mongodb/data.dmp/wx_applet

繼續閱讀