MongoDB學習(三)數據導入導出及備份恢復


這幾天想着公司要用MongoDB,自然就要用到數據導入導出,就自己學習了一下。

在Mongo學習(二)中就講到了在bin目錄下有一些工具,本篇就是使用這些工具進行數據的導入導出及備份恢復。

 

注意:以下命令均在cmd命令行中輸入,導出及備份未指明目錄情況下,均保存在當前操作目錄下。

 

數據導出mongoexport

1.常用導出方法:導出數據為json

假設庫里有一張area 表,里面有9 條記錄,我們要將它導出

>c:\mongo\bin\mongoexport -d iflashbuy_log -c area -o c:\area.dat

正常情況下輸出如下:

connected to: 127.0.0.1
exported 9 records

參數說明:
 -d 指明使用的庫, 本例中為” iflashbuy_log
 -c 指明要導出的表, 本例中為”area”
 -o 指明要導出的文件名及目錄, 本例中為”area.dat”
從上面可以看到導出的方式使用的是JSON 的樣式

 

2.導出CSV格式的文件

>c:\mongo\bin\mongoexport -d iflashbuy_log -c area  --csv -f  id,province,city   -o c:\area.dat

參數說明:
 -csv 指要要導出為csv 格式,導出csv之后必須指明導出的列
 -f 指明需要導出哪些列

 

數據導入mongoimport

1.導入JSON 數據

a. 我們先將表area刪除掉,以便演示效果 db.area.drop();

b. 再執行導入命令:

>c:\mongo\bin\mongoimport -d iflashbuy_log -c area c:\area.dat

正常情況下輸出以下:

connected to: 127.0.0.1
imported 9 objects

可以看到導入數據的時候會隱式創建表結構.

 

2.導入CSV 數據

a. 我們先將表area刪除掉,以便演示效果 db.area.drop();

b. 再執行導入命令

>c:\mongo\bin\mongoimport -d iflashbuy_log -c area --type csv --headerline --file c:\area.data

參數說明:
 -type 指明要導入的文件格式
 -headerline 批明不導入第一行,因為第一行是列名
 -file 指明要導入的文件路徑
注意:

CSV 格式良好,主流數據庫都支持導出為CSV 的格式,所以這種格式非常利於異構數據遷移

 

數據備份mongodump

可以用mongodump 來做MongoDB 的庫或表級別的備份,下面舉例說明:

1. 備份iflashbuy_log數據庫

>c:\mongo\bin\mongodump -d iflashbuy_log

此時會在當前目錄下創建一個dump 目錄,用於存放備份出來的文件,也可以指定備份存放的目錄。

2. 指定目錄備份iflashbuy_log數據庫

>c:\mongo\bin\mongodump -d iflashbuy_log -o c:\my_mongodb_dump

這個例子中將備份的文件存在了c:\my_mongodb_dump目錄下

 

數據恢復mongorestore

由於剛剛已經做了備份,所以我們先將庫iflashbuy_log刪除掉

>use iflashbuy_log

switched to db iflashbuy_log

>db.dropDatabase()

接下來我們進行數據庫恢復

1.恢復iflashbuy_log數據庫

>c:\mongo\bin\mongorestore -d my_mongodb c:\my_mongodb_dump

經驗證數據庫又回來了,其實要是想恢復庫,也大可不必先刪除iflashbuy_log 庫,只要指明 --drop 參數,就可以在恢復的時候先刪除表然后再向表中插入數據

2.不刪除庫恢復庫

>c:\mongo\bin\mongorestore -d my_mongodb --drop  c:\my_mongodb_dump

 

至此,Windows系統下,對MongoDB的數據導入導出以及備份恢復就講完了。

另外,我想說一下,在Linux中進行數據導入導出及備份恢復的命令跟Windows相同,因此,就不另外介紹Linux下的命令了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM