標籤:分享 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備份恢複與匯出匯入