导入/导出可以操作的是本地的mongodb服务器,也可以是远程的服务器

所以,都有如下通用选项:

-h host   主机
--port port 端口
-u username 用户名
-p passwd 密码

mongoexport 导出

-d  库名
-c 表名
-f field1,field2...列名
-q 查询条件
-o 导出的文件名
--type=csv 导出csv格式(便于和传统数据库交换数据)
# 导出shop库下面的goods表
./mongoexport -d shop -c goods -o goods.json
2015-08-20T18:12:05.693+0800 connected to: localhost #从哪里导出
2015-08-20T18:12:05.697+0800 exported 31 records # 导出的文档数 # 导出shop库下面的goods表中的goods_id,goods_name列
./mongoexport -d shop -c goods -f goods_id,goods_name -o goods_id_name.json # 只导出价格低于1000元的行
./mongoexport -d shop -c goods -f goods_id,goods_name,shop_price -q '{shop_price:{$lt:200}}' -o goodslt100.json # 导出shop库下面的goods表中的goods_id,goods_name列
./mongoexport -d shop -c goods -f goods_id,goods_name -o ./goods_id_name.csv --type=csv

注意只能是导出数据,不包括相关的索引信息

详情请参考: http://docs.mongodb.org/v3.0/reference/program/mongoexport/#bin.mongoexport

mongoimport 导入

-d 待导入的数据库
-c 待导入的表(不存在会自己创建)
--type csv/json(默认)
--file 备份文件路径
# 导入json
./mongoimport -d shop -c goodslt100 --file ./goodslt100.json # 导入csv,必须要指定fields
./bin/mongoimport -d test -c goods_csv --type csv -f goods_id,goods_name --file ./goodsall.csv

以上的导出,仅仅是导出数据,相关的索引信息没有被导出;

二进制备份,不仅可以备份数据,还可以备份索引,

备份数据比较小.

参考: http://docs.mongodb.org/v3.0/reference/program/mongoimport/#bin.mongoimport

mongodump 导出二进制bson结构的数据及其索引信息

-d  库名
-c 表名
-f field1,field2...列名 mongodump -d test [-c 表名] 默认是导出到mongo下的dump目录
  1. 导出的文件放在以database命名的目录下
  2. 每个表导出2个文件,分别是bson结构的数据文件, json的索引信息
  3. 如果不声明表名, 导出所有的表
mongodump -d shop

参考: http://docs.mongodb.org/v3.0/reference/program/mongodump/#bin.mongodump

mongorestore 导入二进制文件

mongorestore -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 --drop 文件存在路径
--drop的意思是,先删除所有的记录,然后恢复
 ./mongorestore -d goods_bson ./dump/shop/ 3.0版本去掉了--directoryperdb

参考: http://docs.mongodb.org/v3.0/reference/program/mongorestore/#bin.mongorestore

【mongoDB运维篇②】备份与恢复(导入与导出)的更多相关文章

  1. 【mongoDB运维篇④】Shard 分片集群

    简述 为何要分片 减少单机请求数,降低单机负载,提高总负载 减少单机的存储空间,提高总存空间. 常见的mongodb sharding 服务器架构 要构建一个 MongoDB Sharding Clu ...

  2. 【mongoDB运维篇③】replication set复制集

    介绍 replicattion set 多台服务器维护相同的数据副本,提高服务器的可用性,总结下来有以下好处: 数据备份与恢复 读写分离 MongoDB 复制集的结构以及基本概念 正如上图所示,Mon ...

  3. 【mongoDB运维篇①】用户管理

    3.0版本以前 在mongodb3.0版本以前中,有一个admin数据库, 牵涉到服务器配置层面的操作,需要先切换到admin数据库.即 use admin , 相当于进入超级用户管理模式,mongo ...

  4. Flume实战案例运维篇

    Flume实战案例运维篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Flume概述 1>.什么是Flume Flume是一个分布式.可靠.高可用的海量日志聚合系统,支 ...

  5. MongoDB 运维实总结

    一.MongoDB 集群简介 MongoDB是一个基于分布式文件存储的数据库,其目的在于为WEB应用提供可扩展的高性能数据存储解决方案.下面将以3台机器介绍最常见的集群方案.具体介绍,可以查看官网 h ...

  6. python自动化运维篇

    1-1 Python运维-课程简介及基础 1-2 Python运维-自动化运维脚本编写 2-1 Python自动化运维-Ansible教程-Ansible介绍 2-2 Python自动化运维-Ansi ...

  7. MongoDB 运维相关的命令

    1.在线释放内存 use admindb.runCommand({closeAllDatabases:1}) 注:3.2 版本 已经去掉了这个命令了 2.rs.status() 查询复制集状态 3.d ...

  8. mongodb 的一些基本命令以及 导入、导出,待更新

    基本命令参考: https://blog.csdn.net/cckevincyh/article/details/78702674 导入导出参考:https://blog.csdn.net/djy37 ...

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

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

随机推荐

  1. mina socket底层主流程源码实现

    一,mina的架构 mina 架构可以大致分为三部分,ioService ,ioFilterChain , IoHandler   ioService:用于接受服务或者连接服务,例如socket 接收 ...

  2. jquery数组之存放checkbox全选值示例代码

    使用jquery数组可以存放checkbox全选值,下面有个不错的示例,感兴趣的朋友可以参考下. 复制代码代码如下: <input type="checkbox" id=&q ...

  3. Jquery显示和隐藏的4种简单方法

    Html代码:  <div class="topicList">  <h3><span>学习天地</span></h3> ...

  4. php获取网页中图片并保存到本地的代码

    php获取网页中图片并保存到本地的代码,将网页中图片保存本地文件夹: <?php /** * 获取网页中图片,并保存至本地 * by www.jbxue.com */ header(" ...

  5. eclipse,myeclipse svn 和jadclipse 反编译插件 及安装

    插件下载链接:http://download.csdn.net/download/mmyzlinyingjie/6456785 myeclipse svn 安装: 把svn解压,然后把这个文件夹放在m ...

  6. Delphi XE5教程10:Delphi字符集

    内容源自Delphi XE5 UPDATE 2官方帮助<Delphi Reference>,本人水平有限,欢迎各位高人修正相关错误!也欢迎各位加入到Delphi学习资料汉化中来,有兴趣者可 ...

  7. Teradata中fastload使用

    Teradata Fastload Utility 是teradata数据库中一个基于命令行的快速load大量数据到一个空表的工具. 数据可以从以下途径被load: 1) Disk 或 tape; 2 ...

  8. Oracle RAC 11gR2 修改本地及SCAN监听端口

        昨天同事说有套RAC集群客户要求修改数据库的监听端口,在处理的过程中,发现网上的相关资料都不是很全面,所以整理了一下,希望给其他有需要的朋友提供一点有利的参考资料.具体操作过程如下:     ...

  9. boost安装

    虽然很多Boost组件都只有头文件,不需要编译,但是有些Boost组件,如program_options.regex等还是需要编译生成库的.考虑到目前的程序需要用到program_options.re ...

  10. 深入PHP EOF(heredoc)用法详解

    介绍下使用EOF heredoc方式,输出长段内容的方法, <?php $name = '姓名'; print <<<EOT <html> <head> ...