说明:本文所有操作均在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备份恢复与导出导入的更多相关文章

  1. 010.MongoDB备份恢复

    一 MongoDB备份 1.1 备份概述 mongodb数据备份和还原主要分为二种,一种是针对于库的mongodump和mongorestore,一种是针对库中表的mongoexport和mongoi ...

  2. mongodb 备份、还原、导入、导出

    mongodump备份数据库 常用的备份命令格式 mongodump -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -o 文件存在路径 如果想导出所有数据库,可以去掉-d - ...

  3. 【Oracle】OCR的备份和恢复之导出导入

    使用导出导入进行OCR的备份和恢复: 在对集群做调整前.如:增删节点等操作前,应该对OCR进行一次备份.能够使用export备份到指定文件. 实验环境: OS:OEL5.6 RAC:10.2.0.1. ...

  4. MongoDB 备份恢复

    备份: mongodump --host -u admin -p -o /tmp/alldb/ // 备份所有的库 mongodump --host -u admin -p -d mydb -o /t ...

  5. mongodb备份恢复,数据导入导出

    数据导出 mongoexport 假设库里有一张apachelog表,里面有2 条记录,我们要将它导出 /test/mongodb/bin/mongo use wxdata switched to d ...

  6. Oracle数据库备份 expdp/impdp导出导入命令

    使用EXPDP和IMPDP时应该注意的事项: EXP和IMP是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用. EXPDP和IMPDP是服务端的工具程序,他们只能在ORACLE服务端使用, ...

  7. mongodb备份恢复

    注意:在备份文件存放目录的选择上有这样一个条件,文件存放目录不管有多深,都只能有它一个文件:(即除了备份文件之外只能存在文件夹,这个条件约束其整个目录树) 数据备份 : /mongodump --ho ...

  8. mongodb集群配置及备份恢复

    Mongodb安装: 编辑/etc/yum.repos.d/mongodb.repo,添加以下: [MongoDB] name=MongoDB Repository baseurl=https://r ...

  9. mongodb 备份

    本篇文章来自于阿里云技术专家郑涔(明俨)在2018年<Redis.MongoDB.HBase大咖直播大讲堂>技术直播峰会中的分享,该分享整体由四个部分构成: 1.MongoDB备份恢复 2 ...

随机推荐

  1. Git 查看/修改用户名、邮箱

    用户名和邮箱地址的作用 用户名和邮箱地址是本地Git客户端的一个变量,不随git库而改变. 每次commit都会用用户名和邮箱纪录. github的contributions统计就是按邮箱来统计的. ...

  2. Java:接口继承接口 (多继承机制)

    在看API文档时,突然发现一个接口可以是其他接口的子接口,这说明接口之间会存在继承的关系.查找了相关的资料,做一个总结. 是继承还是实现 首先要搞清楚接口之间的关系使用的关键字是extends还是im ...

  3. 创建maven项目pom.xml第一行报错

    之前也创建过几次maven项目,也是第一行报错,之前直接是右键项目强制更新maven好像就解决了,这次遇见这个问题使用这个方法好像不起作用了,给的一堆英文报错又看不懂,幸好在网上看见路人甲大神提示,根 ...

  4. Mybatis第八篇【一级缓存、二级缓存、与ehcache整合】

    Mybatis缓存 缓存的意义 将用户经常查询的数据放在缓存(内存)中,用户去查询数据就不用从磁盘上(关系型数据库数据文件)查询,从缓存中查询,从而提高查询效率,解决了高并发系统的性能问题. myba ...

  5. 编译安装Nginx到Linux

    之前安装的H2O不知道为啥,总是崩溃,换Nginx了下载包:http://nginx.org/download/ 配置:./configure --prefix=/usr/local/nginx -- ...

  6. CDS测试框架介绍:如何为ABAP CDS Entities写测试

    动机 现在大家都知道单元测试对我们代码的好处.并且我们都承认它是开发过程中不可或缺的一部分.但是在把代码切换到数据库的模式下的时候,我们被粗暴地打回了软件测试的黑暗年代...我们现在面临着逻辑下推到A ...

  7. Piggy Back_KEY

    Piggy Back (piggyback.pas/c/cpp) [问题描述] Bessie 和她的姐姐 Elsie 在不同的田块吃草,晚上她们都返回牛棚休息.作为聪明的奶牛,她们想设计一个方案使得步 ...

  8. asp.net mvc项目实记-开启伪静态-Bundle压缩css,js

    百度这些东西,还是会浪费了一些不必要的时间,记录记录以备后续 一.开启伪静态 如果不在web.config中配置管道开关则伪静态无效 首先在RouteConfig.cs中中注册路由 routes.Ma ...

  9. 第6章 Overlapped I/O, 在你身后变戏法 ---1

    这一章描述如何使用 overlapped I/O(也就是 asynchronous I/O).某些时候 overlapped I/O 可以取代多线程的功用.然而,overlapped I/O 加上co ...

  10. JSON依赖的选择

    json-lib 源码:https://github.com/aalmiray/Json-lib/ 最新版本:2.4 不再更新 <dependency> <groupId>ne ...