Mongodb的備份,恢複,匯入與匯出(cmd命令列實現)

來源:互聯網
上載者:User

標籤:

要用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的資料匯入匯出以及備份恢複就講完了。

Mongodb的備份,恢複,匯入與匯出(cmd命令列實現)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.