您好,登錄后才能下訂單哦!
一:導出工具:mongoexport
概念:
mongoDB中的mongoexport工具可以把一個collection導出成JSON格式或CSV格式的文件。可以通過參數指定導出的數據項,也可以根據指定的條件導出數據。
1、語法:
命令格式:mongoexport -h IP --port 端口 -u 用戶名 -p 密碼 -d 數據庫 -c 表名 -f 字段 -q 條件導出 --csv -o 文件名的具體路徑(后綴格式可以是.dat或.csv)
參數說明:
-d :數據庫名
-c :collection名
-o :輸出的文件名
--type : 輸出的格式,默認為json
-f :輸出的字段,如果-type為csv,則需要加上-f "字段名"
2、示例:
sudo mongoexport -d mongotest -c users -o /data/backup/mongoDB/users.json --type json -f "_id,user_id,user_name,age,status"
sudo mongoexport -d mongotest -c users -o /data/backup/mongoDB/users.dat -u test -p test123 --slaveOk --host 10.10.10.110 --port 3777
二:導入工具:mongoimport
1、語法:
1:還原整表導出的非csv文件
mongoimport -h IP --port 端口 -u 用戶名 -p 密碼 -d 數據庫 -c 表名 --upsert --drop 文件名的具體路徑 (--drop當不需要刪除源文件可不加)
2:還原部分字段的導出文件
mongoimport -h IP --port 端口 -u 用戶名 -p 密碼 -d 數據庫 -c 表名 --upsertFields 字段 --drop 文件名的具體路徑 (--drop當不需要刪除源文件可不加)
3:還原導出的csv文件(導出數據時如果不加--csv選項,導出的數據就會存在很多雙引號,導入就會失敗)
mongoimport -h IP --port 端口 -u 用戶名 -p 密碼 -d 數據庫 -c 表名 --type 類型(csv) --headerline --upsert --drop 文件名的具體路徑注意:如果數據庫存在數據,要導入最新的數據,則需要加--upsert選項,會更新數據,否則會報錯(提示重復鍵錯誤收集)
參數說明:
-d :數據庫名
-c :collection名
--type :導入的格式默認json
-f :導入的字段名
--headerline :如果導入的格式是csv,則可以使用第一行的標題作為導入的字段
--file :要導入的文件
2、示例:
mongoimport -d dbname -c collectionname --file filename --headerline --type json/csv -f field
一、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/
二、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/
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。