前言
? ? ?mongo數據庫遷移的方式目前常見的有兩種:
? ? ? ? ? 1,mongodump與mongorestore
? ? ? ? ? ?2,mongoimport與mongoexport
? ? ?二者主要區別有:
? ? ? ? ? ? ?1、mongoexport 可以導出json和csv格式,? mongodump導出的是bson可讀性不如前者
? ? ? ? ? ? ?2,mongoexport不保留索引及賬戶信息,mongodump可保留
? ? ? ? ? ? ?3、mongoexport 可以指定集合中的字段,?? mongodump最多到集合
? ? ? ? ? ? ?4、mongoexport 可以帶導出的過濾條件 -q, mongodump則不可以
本文主要介紹windows環境下利用mongodump與mongorestore進行mongo部分表格遷移的具體步驟
環境準備
? ? ? ?具體安裝步驟網上一大堆,基本上都按步驟指示next,install后配置環境變量(mongo和mongo tool需要配置)即可
? ? ? ? ? ? ?1,mongo安裝:Download MongoDB Community Server | MongoDB
? ? ? ? ? ? ? 2,mongosh安裝:MongoDB Shell Download | MongoDB
上面兩個安裝參考如下博文,個人感覺寫得非常詳細
【圖文教程】win10 下 MongoDB 介紹下載安裝配置_mongodb安裝教程win10-CSDN博客
? ? ? ? ? ? ?3,由于mongodump與mongorestore在mongo版本4.4之后獨立出來,集合在mongo tools中,所以需要單獨安裝,不了解背景的可以看這:mongorestore 兼容性和安裝 - MongoDB Database Tools
? ? ? ? ? ? ? ? 安裝方法:在 Windows 上安裝 Database Tools - MongoDB Database Tools
? ? ? ? ? ? ? ? 下載地址:Download MongoDB Command Line Database Tools | MongoDB
? ? ? ? ? ? ? ??
數據準備
? ? ? ? ? ?1,暫停數據生產服務
? ? ? ? ? ?2,原始數據備份,以防遷移異常
遷移
? ? ? ? ? ?1,數據導出,新建文件夾fileName存儲導出數據
? ? ? ? ? ? ? ??mongodump -h ip:27017 -u xxx -p xxx --authenticationDatabase xxx -d xx -c xxx -o fileName
導出后fileName文件夾中生成
? ? ? ? ? ? ? ? .bson文件:存儲源數據
? ? ? ? ? ? ? ? .metaData:存儲索引及賬戶等相關信息
? ? ? ? ? 2,數據導入
? ? ? ? ? ? ? ? ?mongorestore -h xxx -u xxx -p xxx --authenticationDatabase=db的名字?-d xxx -c xxx? ?fileName/xxx.bson
? ? ? ? ? 如果出現duplicate key異常,可以加--drop強制覆蓋
自測
? ? ? ? ?1,數據完整性檢查
? ? ? ? ?2,數據key唯一性檢查
? ? ? ? ?3,數據索引,賬戶等信息檢查
以上步驟為個人實踐步驟,操作過程遇見的問題多樣。歡迎留言探討