系列导航

一、linux单机版mongo安装(带密码验证)

二、mongo集群搭建

三、java连接mongo数据库

四、java对mongo数据库增删改查操作

五、mongo备份篇 mongoexport、mongoimport 以及mongodump、mongorestore

如下是总结mongo数据库在执行备份和恢复中一些常用的语句。

备份方面比较:
1、mongoexport 可以指定集合中的字段,   mongodump最多到集合
2、mongoexport 可以带导出的过滤条件 -q, mongodump则不可以
3、mongoexport 可以导出json和csv格式,  mongodump导出的是bson可读性不如前者

4、mongodump   的速度和压缩率都最好,每秒125M的数据,压缩率达28%
5、mongodump   更适合全库备份,mongoexport更适合单个集合备份
 
恢复方面比较:
1、mongoimport  速度较快,但不保证数据完整导入 。
2、mongorestore 速度较慢,比mongoimport慢2.5倍左右,但是根据mongodump导出的数据,可以完整导入数据

 
----------------mongoexport使用样例begin-------------------

cd /opt/mongodb/bin

--数据导出
./mongoexport -h 192.168.0.10 -d testdb -c testcollection -q '{_id:{$in:["1193860277","1193860919","1193860428","1193860453","1193860364"]}}' -o /opt/testcollection.json
参数解释:
-h 192.168.0.10 :192.168.0.10是主机ip
-d testdb :testdb数据库
-c testcollection :testcollection是数据库中的集合
-q 后面跟的是查询条件(可选)
-o 后面跟的是备份的文件存放地址 例如:/opt/testcollection.json --数据导入
./mongoimport -h 192.168.0.10:27017 -d testdb -c testcollection --type json --file /opt/testcollection.json
参数解释:
--type json :表示导入的文件是json格式的备份文件
--file 后面跟导入的文件地址 例子:导出整个结合的样例
--导出person集合
./mongoexport -d testdb -c person --type json -o /opt/person.json --还原数据语句
cd /opt/mongodb/bin
./mongoimport -d testdb -c person --type json --file /opt/person.json 备份一个时间段的数据样例 备份statTime时间 大于等于2019-01-01 并且小于2020-01-01这个时间段的数据
./mongoexport -h 192.168.0.10:27017 -d testdb -c person -q '{"statTime":{$gte:Date('`date -d 2019-01-01 +%s000`'),$lt:Date('`date -d 2020-01-01 +%s000`')}}' -o /opt/person.json 密码校验
如果mongo数据库是带密码验证的则需要使用如下语句
./mongoexport -h 192.168.0.10:27017 --authenticationDatabase admin -u dbuser -p dbpwd -d testdb -c person -o /opt/person.json
参数解释:
--authenticationDatabase admin :指验证用户名和密码的库是admin
-u dbuser : dbuser是数据库的用户名
-p dbpwd : dbpwd是数据库的密码

----------------mongoexport使用样例end-------------------
 

----------------mongodump使用样例begin--------------------

--备份
/opt/mongodb/bin/mongodump -h 192.168.0.10:27017 --authenticationDatabase admin -u dbuser -p dbpwd -d testdb -c person -o /opt
参数解释:
--authenticationDatabase admin :指验证用户名和密码的库是admin
-u dbuser : dbuser是数据库的用户名
-p dbpwd : dbpwd是数据库的密码
注:不用指定备份的文件名 --恢复
/usr/local/mongodb/bin/mongorestore -h 192.168.0.10:27017 --authenticationDatabase admin -u dbuser -p dbpwd -d testdb -c person /opt/person.bson

----------------mongodump使用样例end--------------------

推荐一个适合零基础学习SQL的网站:不用安装数据库,在线轻松学习SQL!

五、mongo备份篇 mongoexport、mongoimport 以及mongodump、mongorestore的更多相关文章

  1. 数据备份及恢复(mongodump/mongorestore)

    说明 1.mongodump创建高保真的BSON文件,mongorestore可以用其恢复数据库.对于小型数据库的备份和恢复,这两个工具非常简单和高效,但对于大型数据库的备份并不理想.2.mongod ...

  2. mongo备份操作

    数据备份mongodump 可以用mongodump 来做MongoDB 的库或表级别的备份,下面举例说明: >c:\mongo\bin\mongodump -d  xxxx数据库 此时会在当前 ...

  3. openresty 前端开发入门五之Mysql篇

    openresty 前端开发入门五之Mysql篇 这章主要演示怎么通过lua连接mysql,并根据用户输入的name从mysql获取数据,并返回给用户 操作mysql主要用到了lua-resty-my ...

  4. [原创].NET 分布式架构开发实战五 Framework改进篇

    原文:[原创].NET 分布式架构开发实战五 Framework改进篇 .NET 分布式架构开发实战五 Framework改进篇 前言:本来打算这篇文章来写DAL的重构的,现在计划有点改变.之前的文章 ...

  5. JAVA之旅(三十五)——完结篇,终于把JAVA写完了,真感概呐!

    JAVA之旅(三十五)--完结篇,终于把JAVA写完了,真感概呐! 这篇博文只是用来水经验的,写这个系列是因为我自己的java本身也不是特别好,所以重温了一下,但是手比较痒于是就写出了这三十多篇博客了 ...

  6. Spring Boot 揭秘与实战(五) 服务器篇 - Tomcat 启用 HTTPS

    文章目录 1. 生成证书 2. 配置 HTTPS 支持 3. 启动与测试 4. 源代码 Spring Boot 内嵌的 Tomcat 服务器可以启用 HTTPS 支持. 生成证书 使用第三方 CA 证 ...

  7. Spring Boot 揭秘与实战(五) 服务器篇 - 其他内嵌服务器 发表于 2017-01-03 | Spring框架 | Spri

    文章目录 1. Jetty 的切换 2. Undertow的使用 Spring Boot 可选择内嵌 Tomcat.Jetty 和 Undertow,因此我们不需要以 war 包形式部署项目.< ...

  8. Spring Boot 揭秘与实战(五) 服务器篇 - Tomcat 代码配置

    Spring Boot 内嵌的 Tomcat 服务器默认运行在 8080 端口.如果,我们需要修改Tomcat的端口,我们可以在 src/main/resources/application.prop ...

  9. Spring Boot 揭秘与实战(五) 服务器篇 - 内嵌的服务器 Tomcat剖析

    文章目录 1. 内嵌的 Tomcat,一个Jar包运行 2. 如何定制内嵌 Tomcat3. War 包部署的使用细节 2.1. 设置内嵌Tomcat的端口 2.2. 设置内嵌Tomcat的最大线程数 ...

  10. 【mysql】备份篇2:使用java程序定期备份mysql数据库

    承接备份篇1, 在备份篇1中,使用dat文件加+系统计划任务程序完成mysql定期备份任务 在这一篇,备份使用java程序定期备份mysql数据库. 下面代码和程序思想给出: package com. ...

随机推荐

  1. 有序对的LCP

    求\(\sum\limits_{i=1}^{n}\sum\limits_{j=1}^{n} LCP(s_i, s_j)\) 方法一 \(1.\)Trie . \(2.\)求\(cnt\),\(cnt[ ...

  2. controller加载控制与业务bean加载控制

    1.因功能的不同,如何避免Spring错误加载到SpringMVC的bean--加载Spring控制的bean的时候排除掉SpringMVC控制的bean. package com.itheima.c ...

  3. Redis 学习笔记2:持久化

    目录 1 什么是持久化 1.1 aof 1.2 rdb 2 RDB持久化 2.1 RDB 是什么 2.2 手动触发 3 AOF持久化 3.1 aof 是什么 3.2 appendfile 文件说明: ...

  4. 衡兰芷若成绝响,人间不见周海媚(4k修复基于PaddleGan)

    一代人有一代人的经典回忆,1994年由周海媚.马景涛.叶童主演的<神雕侠侣>曾经风靡一时,周海媚所诠释的周芷若凝聚了汉水之钟灵,峨嵋之毓秀,遇雪尤清,经霜更艳,俘获万千观众,成为了一代人的 ...

  5. 【scikit-learn基础】--『预处理』之 分类编码

    数据的预处理是数据分析,或者机器学习训练前的重要步骤.通过数据预处理,可以 提高数据质量,处理数据的缺失值.异常值和重复值等问题,增加数据的准确性和可靠性 整合不同数据,数据的来源和结构可能多种多样, ...

  6. Python+Selenium4自动化之JS属性

    应用场景 在自动化中, 能对JS代码进行增.删.改的话,可以帮助我们解决很多问题, 如:修改<a>标签的target属性,让它不打开新的窗口(_blank),从而不用频繁使用switch_ ...

  7. git报错解决,warning: could not find UI helper 'git-credential-manager-ui'

    在克隆远程代码时,可能遇到这样的报错 warning: could not find UI helper 'git-credential-manager-ui' 这样的报错经常会在我们换了一台电脑或者 ...

  8. Python——第四章:推导式(Comprehensions)

    推导式: 推导式是为了简化代码. 语法: 列表推导式:[数据 for循环 if判断] 集合推导式:{数据 for循环 if判断} 字典推导式:{k:v for循环 if判断} 元组推导式:不存在(因为 ...

  9. 如何从零开始实现TDOA技术的 UWB 精确定位系统(4)

    这是一个系列文章<如何从零开始实现TDOA技术的 UWB 精确定位系统>第4部分. 重要提示(劝退说明): Q:做这个定位系统需要基础么?A:文章不是写给小白看的,需要有电子技术和软件编程 ...

  10. 将一个服务器通过HTTP请求另一个服务器

    1.一个服务器访问另一个服务器(不传参) @RequestMapping ("/test") public ResponseEntity<String> serverT ...