MongoDB导出与导入远程Linux服务器上的数据
场景
将远程服务器A上的MongoDB数据库test下的集合people导入到服务器B数据库test的集合people_test下。
简单方案
先将A服务器数据导出,然后再执行导入到B服务器。
下面的导入和导出操作,均是在git bash下执行,如果是在windows命令行下需要稍微更改路径。
工具
利用本地原生MongoDB安装目录下的bin目录中的mongoexport和mongoimport
导出数据
这里,我打算将远程服务器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 --authenticationDatabase admin -h 10.6.22.12: -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/
MongoDB导出与导入远程Linux服务器上的数据的更多相关文章
- Sublime Text编辑远程Linux服务器上的文件
sublime有个叫sftp的插件,可以通过它直接打开远程机器上的文件进行编辑,并在保存后直接同步到远程linux服务器上. 用Package Control安装插件 按下Ctrl+Shift+P调出 ...
- Linux下不借助工具实现远程linux服务器上传下载文件
# Linux下不借助工具实现远程linux服务器上传下载文件 ## 简介 - Linux下自带ssh工具,可以实现远程Linux服务器的功能- Linux下自带scp工具,可以实现文件传输功能 ## ...
- vscode实现远程linux服务器上Python开发
最近需要训练一个生成对抗网络模型,然后开发接口,不得不在一台有显卡的远程linux服务器上进行,所以,趁着这个机会研究了下怎么使用vscode来进行远程开发. 1 配置免密登录¶ (1)在 ...
- 用rsync备份一台linux服务器上的数据
rsync是安装完linux后都会自带的,在机器上运行rsync命令看是否有安装即可 备份到远程服务器 这里介绍的rsync的用途是备份一台linux服务器上的数据到另外一台机器 环境 将需要备份机器 ...
- 使用PhpStrom等IDE编辑 远程linux服务器上的文件 实时更新
习惯了在linux上 vim进行PHP的开发,突然忘了IDE的感觉,所以想到了.通过PhpStrom等IDE直接编辑 samba共享到 mac或者windows本地的磁盘进行编辑. 为了忘却的纪念,有 ...
- navicat突然连接不上远程linux服务器上的mysql
我linux服务器上的mysql是docker安装的,突然有一天我的navicat连接不上服务器上的mysql,于是开始了下面一系列的修复 1.首先登录服务器上mysql,看是否能正常登录,我发现不能 ...
- 使用Navicat连接管理远程linux服务器上的mysql数据库
第一步:选择连接,选择mysql 第二步:填写下面弹出框的信息:连接名随便写,主机名或IP地址:写上服务器的ip. 端口不变 用户名不变. 密码:输入服务器数据库的密码12345678. 接着测 ...
- 通过SecureCRT下载远程Linux服务器上的文件到本地Windows
sz 文件名[先cd到需要下载的文件的目录层] [root@is13084905-0233 bookinterface]# sz test.txt rz Starting zmodem transf ...
- windows平台是上的sublime编辑远程linux平台上的文件
sublime是个跨平台的强大的代码编辑工具,不多说. 想使用sublime完毕linux平台下django网站的代码编辑工作以提高效率(原来使用linux下的vim效率较低,适合编辑一些小脚本). ...
随机推荐
- 【Python学习之三】流程控制语句
环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 python3.6 一.条件分支if <条件判断1>: & ...
- Oracle Spatial分区应用研究之二:按县分区与按省分区对比测试报告
1.实验目的 在上一轮的实验中,oracle 11g r2版本下,在87县市实验数据的基础上,比较了分表与分区的效率,得出了分区+全局索引效率较高的结论(见上一篇博客).不过我们尚未比较过不同的分区粒 ...
- swoole实现多人游戏的要点
swoole实现多人游戏的要点 比方说多人在线 要满足以下两点 1 所有玩家的数据要实时更新到服务器数据库数据 2 写个定时器返回数据
- Python进阶:GIL(全局解释器锁)
一个不解之谜 一段代码 def CountDown(n): while n > 0: n -= 1 # CountDown(100000000) #==8秒 from threading imp ...
- python爬取b站排行榜视频信息
和上一篇相比,差别不是很大 import xlrd#读取excel import xlwt#写入excel import requests import linecache import wordcl ...
- quartz2.3.0(十四)trigger触发器优先级排序
job任务类: package org.quartz.examples.example14; import org.slf4j.Logger; import org.slf4j.LoggerFacto ...
- Luogu4069 SDOI2016 游戏 树链剖分、李超线段树
传送门 每一次加的是一个一次函数,一些呈一次函数的线段求最小值,显然用到李超线段树. 然后把维护序列的李超线段树强行上树,就直接套上树剖就可以了. 至于李超树如何区间查询,因为一次函数线段的最小值一定 ...
- ASP.NET WebAPI 连接数据库
ASP.NET Web API 是一种框架,用于轻松构建可以访问多种客户端(包括浏览器和移动设备)的 HTTP 服务. ASP.NET Web API 是一种用于在 .NET Framework 上构 ...
- 组件系列之RabbitMQ
官网: https://www.rabbitmq.com/getstarted.html 1.四种交换机 TODO... 2.消费者获取消息方式:推 和 拉 拉取:每次拉取一条,循环拉取需要的条数在批 ...
- java之初识hibernate
1. 使用jdbc进行数据库操作:获取数据库连接,编写sql语句,执行sql操作,关闭连接. 比如:每次创建连接,释放资源----使的执行效率降低: 解决方案:连接池. 编写sql语句动作----简单 ...