MongoDB備份與恢復

1、Mongodb的導入與導出

1.一、導出工具:mongoexport

概念:

mongoDB中的mongoexport工具能夠把一個collection導出成JSON格式或CSV格式的文件。能夠經過參數指定導出的數據項,也能夠根據指定的條件導出數據。數據庫

語法:

mongoexport -d dbname -c collectionname -o file --type json/csv -f field
        參數說明:
            -d :數據庫名
            -c :collection名
            -o :輸出的路徑和文件名
            --type : 輸出的格式,默認爲json
            -f :輸出的字段,若是-type爲csv,則須要加上-f "字段名"

例子:

[root@vm-test1~]# mongoexport -d mongotest -c users -o /home/users.json --type json -f  "_id,user_id,user_name,age,status"
[root@vm-test1 ~]#  mongoexport -d test -c user -o /data/user.json --type json
2017-09-08T12:20:05.654+0800    connected to: localhost
2017-09-08T12:20:05.667+0800    exported 22 records

1.二、導入工具:mongoimport

語法:

    mongoimport -d dbname -c collectionname --file filename --headerline --type json/csv -f field
   參數說明:
            -d :數據庫名
            -c :collection名
            --type :導入的格式默認json
            -f :導入的字段名
            --headerline :若是導入的格式是csv,則可使用第一行的標題做爲導入的字段
            --file :要導入的文件

示例:

新建庫import,執行導入命令
[root@vm-test1 data]# mongoimport -d import -c user --file user.json --type json
2017-09-08T12:27:34.944+0800    connected to: localhost
2017-09-08T12:27:35.282+0800    imported 22 documents

進入mongo中查看數據導入成功json

2、Mongo備份與恢復

2.1備份工具: mongodump

語法:

mongodump -h host -d dbname -o directory
mongodump -h IP --port 端口 -u 用戶名 -p 密碼 -d 數據庫 -o 文件存在路徑
Eg: # mongodump -d test -o /data/
參數說明:
若是想導出全部數據庫,能夠去掉-d
-h:MongDB所在服務器地址,如:127.0.0.1,也能夠指定端口號:127.0.0.1:27017
-d:須要備份的數據庫名稱,如:db_test
-o:備份的數據存放位置,如:~\dump,固然該目錄須要提早創建,在備份完成後,系統自動在dump目錄下創建一個db_test目錄,這個目錄裏面存放該數據庫實例的備份數據。

2.2 恢復工具 mongorestore

概念:

mongorestore是Mongodb從備份中恢復數據的工具,它主要用來獲取mongodump的輸出結果,並將備份的數據插入到運行的Mongodb中。服務器

語法:

mongorestore -h host -d dbname --directoryperdb dbdirectory
Eg:  # mongorestore --host=10.0.0.25 --port=27017 --db ztjy --dir=ztjy/
參數說明:
-h:MongoDB所在服務器地址
-d:須要恢復的數據庫名稱,如:db_test,固然這個名稱能夠不一樣於備份的時候,好比new_db
--directoryperdb:備份數據文件所在位置,如:~\dump\db_test(這裏之因此要加db_test子目錄,從mongoretore的help中的--directoryperdb,能夠讀出「每個db在一個單獨的目錄」。)
相關文章
相關標籤/搜索