1. 程式人生 > >MongoDB匯入匯出以及資料庫備份

MongoDB匯入匯出以及資料庫備份

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、示例:

        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 

        引數說明:

            -d :資料庫名

            -c :collection名

            --type :匯入的格式預設json

            -f :匯入的欄位名

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

            --file :要匯入的檔案

    2、示例:

        mongoimport -d mongotest -c users --file /home/mongodump/articles.json --type json

MongoDB備份與恢復

1、MongoDB資料庫備份

    1、語法:

        mongodump -h dbhost -d dbname -o dbdirectory

        引數說明:

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

            -d: 需要備份的資料庫例項,例如:test

            -o: 備份的資料存放位置,例如:/home/mongodump/,當然該目錄需要提前建立,這個目錄裡面存放該資料庫例項的備份資料。

    2、例項:

        sudo rm -rf /home/momgodump/

        sudo mkdir -p /home/momgodump

        sudo mongodump -h 192.168.17.129:27017 -d itcast -o /home/mongodump/

        -

2、MongoDB資料庫恢復

    1、語法:

        mongorestore -h dbhost -d dbname --dir dbdirectory

        引數或名:

            -h: MongoDB所在伺服器地址

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

            --dir: 備份資料所在位置,例如:/home/mongodump/itcast/

            --drop: 恢復的時候,先刪除當前資料,然後恢復備份的資料。就是說,恢復後,備份後新增修改的資料都會被刪除,慎用!

    2、例項:

    mongorestore -h 192.168.17.129:27017 -d itcast_restore --dir /home/mongodump/itcast/

3.語法說明

mongoimport --db xxx --host localhost --port 27017 --username xxx --password xxx --collection user --type json --headerline --file /data/user.json --numInsertionWorkers 8

【詳解】

--db 資料庫名稱

--host 主機ip

--port 埠

--username 使用者名稱

--password 密碼

--collection 集合

--type 資料格式

--headerline  忽略首行

--file 檔案路徑

--numInsertionWorkers N條執行緒執行

4.備註

1.如不能識別以上各命令,進入/mongodb/bin目錄下執行

2.查詢mongodb安裝位置:

    ps -ax|grep mongod
    find / -iname mongo.config 

3.匯入命令每次預設匯入1000條資料,如果資料過多使用多執行緒匯入

  --numInsertionWorkers  n