• 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/

     

  • 相关阅读:
    Spring Cloud 模块简介2
    Eureka简介
    Spring Cloud 模块简介
    成神之路-基础篇 转
    Java面试题无答案
    java程序猿常用Linux命令
    Java工程师成神之路 转
    大型网站技术架构 大纲
    Mockito 相关资料
    webApp路由控制-vue-router2.0
  • 原文地址:https://www.cnblogs.com/theRhyme/p/10900437.html
Copyright © 2020-2023  润新知