MongoDB導出與導入遠程Linux服務器上的數據


場景

將遠程服務器A上的MongoDB數據庫test下的集合people導入到服務器B數據庫test的集合people_test下。

 

簡單方案

先將A服務器數據導出,然后再執行導入到B服務器。

下面的導入和導出操作,均是在git bash下執行,如果是在windows命令行下需要稍微更改路徑。

 

工具

利用本地原生MongoDB安裝目錄下的bin目錄中的mongoexportmongoimport 

 

導出數據

這里,我打算將遠程服務器A上的數據導入到我本地windows系統e盤temp目錄下;

首先,進入到MongoDB的安裝目錄,然后:

cd bin
mongoexport -u admin -p 123456 --authenticationDatabase admin -h 10.5.10.22:27017 -d test -c people -o /e/temp/people.json 

 

 

參數 說明
-u 用戶名
-p 密碼
--authenticationDatabase 保存用戶憑據的數據庫(一般是admin)
-h host:port
-d 數據庫名
-c 表名(只能接受一個表名參數,不能接受由空格、逗號等 分隔的多個表名,也不能用"*")
-o 導出的文件名
--file 導入的文件名
--upsert 導入的記錄創建或更新

 

更多詳細的操作:mongoexport --help

 

 

導入數據

這里我打算將本地windows系統e盤temp目錄下的people.json文件導入到服務器B上;

也是在bin目錄下;

mongoimport -u admin -p 123456 --authenticationDatabase admin -h 10.6.22.12:27017 -d test -c people_test --file /e/temp/people.json --upsert rm /e/temp/people.json
 
        

 

總結

 

操作 執行
導出 mongoexport -u 用戶名 -p 密碼 --authenticationDatabase 用戶憑據數據庫 -h ip:port -d 數據庫名 -c 表名 -o 導出的文件名.json
導入后刪除文件 mongoimport -u 用戶名 -p 密碼 --authenticationDatabase 用戶憑據數據庫 -h ip:port -d 數據庫名 -c 表名 --file 導出的文件名.json --upsert && rm 導出的文件名.json

 

能夠利用windows本地安裝的MongoDB bin目錄下的程序導入和導出遠程服務器上的數據;

如果是導出本地MongoDB的數據,就不需要用戶名和密碼以及保存用戶憑據的數據庫。

MongoDB官方文檔:https://docs.mongodb.com/manual/reference/program/mongoexport/

 


免責聲明!

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



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