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

場景

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

 

簡單方案

先將A服務器數據導出,而後再執行導入到B服務器。mongodb

下面的導入和導出操做,均是在git bash下執行,若是是在windows命令行下須要稍微更改路徑。數據庫

 

工具

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

 

導出數據

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

首先,進入到MongoDB的安裝目錄,而後:bash

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目錄下;spa

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/

相關文章
相關標籤/搜索