MongoDB備份恢複與匯出匯入

來源:互聯網
上載者:User

標籤:分享   com   9.png   ups   帳號   form   mil   路徑   檔案名稱   

說明:本文所有操作均在win7下的MongoDB3.4.4版本中進行。

一、備份與恢複

1. 備份:

mongodump -h IP --port 連接埠 -u 使用者名稱 -p 密碼 -d資料庫 -o 檔案路徑

(將使用某個使用者帳號將某個mongodb伺服器上的某個Database Backup到某個路徑下)

如果無需指定使用者,可以去掉-u和-p;如果匯出原生資料庫,可以去掉-h;如果是預設連接埠,可以去掉--port;

如果想匯出所有資料庫,可以去掉-d。如果只想備份某個集合,應在”-d 資料庫”後添加”-c 集合名”選項。

備份單個集合樣本:

如果想根據查詢條件來備份資料,則應該添加’-q 查詢條件’選項。

查詢條件備份樣本:

(mongodb3.4.4查詢條件使用單引號會報錯:query is not in proper format)

2. 恢複:

mongorestore -h IP --port 連接埠 -u 使用者名稱 -p 密碼 -d資料庫 --drop 檔案路徑

--drop:恢複的時候,先刪除當前資料庫資料,然後恢複備份的資料(恢複後,備份後添加、修改的資料都會被刪除,慎用!

若不使用該選項,則恢複過程可能會出現很多鍵重複的報錯,鍵重複的資料將不被恢複)

如果只想備份某個集合,應在”-d 資料庫”後添加”-c 集合名”選項,備份某個集合的時候需要指定具體的bson檔案,而不能只是指定檔案目錄。

恢複單個集合樣本:

 

二、匯出與匯入

1. 匯出:

mongoexport -h IP --port 連接埠 -u 使用者名稱 -p 密碼 -d資料庫 -c 表名 -f 欄位名 -q 查詢條件 --type=csv -o 檔案路徑

mongoexport導資料時一定要使用-c參數指定需要匯出的集合,所以-o參數要指定一個具體的檔案名稱而不能是目錄。

-f:只匯出指定的欄位,多個欄位之間使用英文逗號分隔。

--type:指定匯出檔案的格式。目前只支援json和csv,指定匯出csv格式時一定需要使用-f參數指定需要匯出的欄位,csv檔案第一行為欄位名標題。

2. 匯入:

(1)匯入json檔案:

mongoimport -h IP --port 連接埠 -u使用者名稱 -p 密碼 -d 資料庫 -c 表名 --upsert --drop 檔案名稱

--upsert:存在則更新,不存在則插入。若只是匯入部分欄位,則將其換成--upsertFields參數並指定欄位名列表。

(2)匯入csv檔案:
mongoimport -h IP --port 連接埠 -u使用者名稱 -p 密碼 -d 資料庫 -c 表名 --type=csv --headerline --upsert --drop 檔案名稱

--headerline:去除csv檔案中的標題列,或使用-fields參數指定欄位名,但這兩個參數不能同時使用。

MongoDB備份恢複與匯出匯入

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.