MongoDB备份恢复与导出导入
说明:本文所有操作均在win7下的MongoDB3.4.4版本中进行。
一、备份与恢复
1. 备份:
mongodump -h IP --port 端口 -u 用户名 -p 密码 -d数据库 -o 文件路径
(将使用某个用户账号将某个mongodb服务器上的某个数据库备份到某个路径下)
如果无需指定用户,可以去掉-u和-p;如果导出本机的数据库,可以去掉-h;如果是默认端口,可以去掉--port;
如果想导出所有数据库,可以去掉-d。如果只想备份某个集合,应在”-d 数据库”后添加”-c 集合名”选项。
备份单个集合示例:

如果想根据查询条件来备份数据,则应该添加’-q 查询条件’选项。
查询条件备份示例:

(mongodb3.4.4查询条件使用单引号会报错:query is not in proper format)
2. 恢复:
mongorestore -h IP --port 端口 -u 用户名 -p 密码 -d数据库 --drop 文件路径
--drop:恢复的时候,先删除当前数据库数据,然后恢复备份的数据(恢复后,备份后添加、修改的数据都会被删除,慎用!
若不使用该选项,则恢复过程可能会出现很多键重复的报错,键重复的数据将不被恢复)
如果只想备份某个集合,应在”-d 数据库”后添加”-c 集合名”选项,备份某个集合的时候需要指定具体的bson文件,而不能只是指定文件目录。
恢复单个集合示例:

二、导出与导入
1. 导出:
mongoexport -h IP --port 端口 -u 用户名 -p 密码 -d数据库 -c 表名 -f 字段名 -q 查询条件 --type=csv -o 文件路径
mongoexport导数据时一定要使用-c参数指定需要导出的集合,所以-o参数要指定一个具体的文件名而不能是目录。
-f:只导出指定的字段,多个字段之间使用英文逗号分隔。
--type:指定导出文件的格式。目前只支持json和csv,指定导出csv格式时一定需要使用-f参数指定需要导出的字段,csv文件第一行为字段名标题。

2. 导入:
(1)导入json文件:
mongoimport -h IP --port 端口 -u用户名 -p 密码 -d 数据库 -c 表名 --upsert --drop 文件名
--upsert:存在则更新,不存在则插入。若只是导入部分字段,则将其换成--upsertFields参数并指定字段名列表。

(2)导入csv文件:
mongoimport -h IP --port 端口 -u用户名 -p 密码 -d 数据库 -c 表名 --type=csv --headerline --upsert --drop 文件名
--headerline:去除csv文件中的标题行,或使用-fields参数指定字段名,但这两个参数不能同时使用。

MongoDB备份恢复与导出导入的更多相关文章
- 010.MongoDB备份恢复
一 MongoDB备份 1.1 备份概述 mongodb数据备份和还原主要分为二种,一种是针对于库的mongodump和mongorestore,一种是针对库中表的mongoexport和mongoi ...
- mongodb 备份、还原、导入、导出
mongodump备份数据库 常用的备份命令格式 mongodump -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -o 文件存在路径 如果想导出所有数据库,可以去掉-d - ...
- 【Oracle】OCR的备份和恢复之导出导入
使用导出导入进行OCR的备份和恢复: 在对集群做调整前.如:增删节点等操作前,应该对OCR进行一次备份.能够使用export备份到指定文件. 实验环境: OS:OEL5.6 RAC:10.2.0.1. ...
- MongoDB 备份恢复
备份: mongodump --host -u admin -p -o /tmp/alldb/ // 备份所有的库 mongodump --host -u admin -p -d mydb -o /t ...
- mongodb备份恢复,数据导入导出
数据导出 mongoexport 假设库里有一张apachelog表,里面有2 条记录,我们要将它导出 /test/mongodb/bin/mongo use wxdata switched to d ...
- Oracle数据库备份 expdp/impdp导出导入命令
使用EXPDP和IMPDP时应该注意的事项: EXP和IMP是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用. EXPDP和IMPDP是服务端的工具程序,他们只能在ORACLE服务端使用, ...
- mongodb备份恢复
注意:在备份文件存放目录的选择上有这样一个条件,文件存放目录不管有多深,都只能有它一个文件:(即除了备份文件之外只能存在文件夹,这个条件约束其整个目录树) 数据备份 : /mongodump --ho ...
- mongodb集群配置及备份恢复
Mongodb安装: 编辑/etc/yum.repos.d/mongodb.repo,添加以下: [MongoDB] name=MongoDB Repository baseurl=https://r ...
- mongodb 备份
本篇文章来自于阿里云技术专家郑涔(明俨)在2018年<Redis.MongoDB.HBase大咖直播大讲堂>技术直播峰会中的分享,该分享整体由四个部分构成: 1.MongoDB备份恢复 2 ...
随机推荐
- Java:类类型变量
在java中有一种被称为类类型的变量,它不同于基本类型变量存储值的方式.不管是基本变量还是类类型变量,都实现为一个内存位置.但是,由于基本变量所需的内存数量是相同的,所以系统可以给它设置一个固定的空间 ...
- Python数据类型方法精心整理,不必死记硬背,看看源码一切都有了
Python认为一切皆为对象:比如我们初始化一个list时: li = list('abc') 实际上是实例化了内置模块builtins(python2中为__builtin__模块)中的list类: ...
- Struts2第九篇【OGNL、valueStack详解】
什么是OGNL表达式? OGNL是Object Graphic Navigation Language 是操作对象属性的开源表达式. Struts2框架使用OGNL作为默认的表达式语言. 为什么我们学 ...
- Linux 下安装maven
1.首先到Maven官网下载安装文件,目前最新版本为3.0.3,下载文件为apache-maven-3.0.3-bin.tar.gz,下载可以使用wget命令:2.进入下载文件夹,找到下载的文件,运行 ...
- 关于Android WebView上传文件的解决方案
我们在开发需求的时候,难免会接入一下第三方的H5页面,有些H5页面是具有上传照片的功能,Android 中的 WebView是不能直接打开文件选择弹框的 接下来我讲简单提供一下解决方案,先说一下思路 ...
- 【个人笔记】《知了堂》MySQL三种关系:一对一,一对多,多对多。
一对一:比如一个学生对应一个身份证号.学生档案: 一对多:一个班可以有很多学生,但是一个学生只能在一个班: 多对多:一个班可以有很多学生,学生也可以有很多课程: 一对多关系处理: 我们以学生和班级之间 ...
- dynamics 365 AI 解决方案 —— 微软布局
核心提示:微软在 Office365.Azure 云.Dynamics365 上进行人工智能技术的部署,野心不小. 微软在2016年9月宣布组建自己的 AI 研究小组.该小组汇集了超过 5000 名计 ...
- 前后端分离,接口API,契约
前后端分离了,然后呢? http://icodeit.org/2015/06/whats-next-after-separate-frontend-and-backend/ Swagger - 前后端 ...
- 针对Openlayer3官网例子的简介
网址:http://openlayers.org/en/latest/examples/ 如果大家想了解ol3能做什么,或者说已提供的API有什么,又闲一个个翻例子跟API累的话,就看看这个吧. 1. ...
- HDFS概述(3)————HDFS Federation
本指南概述了HDFS Federation功能以及如何配置和管理联合集群. 当前HDFS背景 HDFS主要有两层: 1.Namespace (1)包含目录,文件和块. (2)它支持所有命名空间相关的文 ...