说明:本文所有操作均在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. javaScript【创建对象、创建类、成员变量、方法、公有和私有、静态】

    创建对象 方式① 直接使用new Object() var obj = new Object(); 方式② 使用空的{}大括号 var obj2 = {}; 测试 增加属性,访问属性 我们要为创建的对 ...

  2. Caused by: java.sql.BatchUpdateException: You have an error in your SQL syntax; check the manual tha

    使用了数据库的关键字index,如果有类似的错误,看看自己有没有使用关键字!

  3. 杂谈--DML触发器学习

    触发器按类型分为三类: 1. DML 触发器,在数据变更时触发: 2. DDL 触发器,在修改数据库级别或实例级别对象时触发: 3. Login 触发器,在用户登录时触发: 最常见的是DML触发器,D ...

  4. 我的第一个python web开发框架(1)——前言

    由于之前经验不是很丰富,写的C#系统太过复杂,所以一直想重写,但学的越多越觉得自己懂的越少,越觉的底气不足.所以一直不敢动手,在内心深处对自己讲,要静下心来认真学习,继续沉淀沉淀.这两年多以来找各种机 ...

  5. AngularJS -- 指令(创建自定义指令)

    点击查看AngularJS系列目录 转载请注明出处:http://www.cnblogs.com/leosx/   什么是指令 注:本指南是针对已经熟悉AngularJS基础知识的开发人员.如果你才刚 ...

  6. GitHub使用(一) - 新建个人网站

    1.首先进入“仓库Repositories”,点击“新建New”.

  7. vue-ajax小封装

    1. js 文件: /** ajax封装:* 1. 引入文件* 2. new Vue().ajax.get(url,data,fn,ojson), 或 new Vue().ajax.post(url, ...

  8. ch340是什么芯片

    CH340 是一个USB 总线的转接芯片,实现USB 转串口.USB 转IrDA 红外或者USB 转打印口.     在串口方式下,CH340 提供常用的MODEM联络信号,用于为计算机扩展异步串口, ...

  9. myeclipse的快捷键

    ------------------------------------MyEclipse 快捷键1(CTRL)-------------------------------------Ctrl+1 ...

  10. Fitnesse - Slim Tables

    Fitnesse - Slim Tables 2017-09-28 目录1 什么是Wiki Word?2 Query Table   2.1 Query Table的格式  2.2 源代码3 Scri ...