一:導(dǎo)出工具:mongoexport
概念:
mongoDB中的mongoexport工具可以把一個collection導(dǎo)出成JSON格式或CSV格式的文件??梢酝ㄟ^參數(shù)指定導(dǎo)出的數(shù)據(jù)項,也可以根據(jù)指定的條件導(dǎo)出數(shù)據(jù)。
1、語法:
為源匯等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及源匯網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站設(shè)計、做網(wǎng)站、源匯網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!
命令格式:mongoexport -h IP --port 端口 -u 用戶名 -p 密碼 -d 數(shù)據(jù)庫 -c 表名 -f 字段 -q 條件導(dǎo)出 --csv -o 文件名的具體路徑(后綴格式可以是.dat或.csv)
參數(shù)說明:
-d :數(shù)據(jù)庫名
-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
二:導(dǎo)入工具:mongoimport
1、語法:
1:還原整表導(dǎo)出的非csv文件
mongoimport -h IP --port 端口 -u 用戶名 -p 密碼 -d 數(shù)據(jù)庫 -c 表名 --upsert --drop 文件名的具體路徑 (--drop當不需要刪除源文件可不加)
2:還原部分字段的導(dǎo)出文件
mongoimport -h IP --port 端口 -u 用戶名 -p 密碼 -d 數(shù)據(jù)庫 -c 表名 --upsertFields 字段 --drop 文件名的具體路徑 (--drop當不需要刪除源文件可不加)
3:還原導(dǎo)出的csv文件(導(dǎo)出數(shù)據(jù)時如果不加--csv選項,導(dǎo)出的數(shù)據(jù)就會存在很多雙引號,導(dǎo)入就會失?。?br/>mongoimport -h IP --port 端口 -u 用戶名 -p 密碼 -d 數(shù)據(jù)庫 -c 表名 --type 類型(csv) --headerline --upsert --drop 文件名的具體路徑注意:如果數(shù)據(jù)庫存在數(shù)據(jù),要導(dǎo)入最新的數(shù)據(jù),則需要加--upsert選項,會更新數(shù)據(jù),否則會報錯(提示重復(fù)鍵錯誤收集)
參數(shù)說明:
-d :數(shù)據(jù)庫名
-c :collection名
--type :導(dǎo)入的格式默認json
-f :導(dǎo)入的字段名
--headerline :如果導(dǎo)入的格式是csv,則可以使用第一行的標題作為導(dǎo)入的字段
--file :要導(dǎo)入的文件
2、示例:
mongoimport -d dbname -c collectionname --file filename --headerline --type json/csv -f field
一、MongoDB數(shù)據(jù)庫備份
1、語法:
mongodump -h dbhost -d dbname -o dbdirectory
參數(shù)說明:
-h: MongDB所在服務(wù)器地址,例如:127.0.0.1,當然也可以指定端口號:127.0.0.1:27017
-d: 需要備份的數(shù)據(jù)庫實例,例如:test
-o: 備份的數(shù)據(jù)存放位置,例如:/home/mongodump/,當然該目錄需要提前建立,這個目錄里面存放該數(shù)據(jù)庫實例的備份數(shù)據(jù)。
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數(shù)據(jù)庫恢復(fù)
1、語法:
mongorestore -h dbhost -d dbname --dir dbdirectory
參數(shù)或名:
-h: MongoDB所在服務(wù)器地址
-d: 需要恢復(fù)的數(shù)據(jù)庫實例,例如:test,當然這個名稱也可以和備份時候的不一樣,比如test2
--dir: 備份數(shù)據(jù)所在位置,例如:/home/mongodump/itcast/
--drop: 恢復(fù)的時候,先刪除當前數(shù)據(jù),然后恢復(fù)備份的數(shù)據(jù)。就是說,恢復(fù)后,備份后添加修改的數(shù)據(jù)都會被刪除,慎用!
2、實例:mongorestore -h 192.168.17.129:27017 -d itcast_restore --dir /home/mongodump/itcast/