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