五、mongo备份篇 mongoexport、mongoimport 以及mongodump、mongorestore
系列导航
五、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的更多相关文章
- 数据备份及恢复(mongodump/mongorestore)
说明 1.mongodump创建高保真的BSON文件,mongorestore可以用其恢复数据库.对于小型数据库的备份和恢复,这两个工具非常简单和高效,但对于大型数据库的备份并不理想.2.mongod ...
- mongo备份操作
数据备份mongodump 可以用mongodump 来做MongoDB 的库或表级别的备份,下面举例说明: >c:\mongo\bin\mongodump -d xxxx数据库 此时会在当前 ...
- openresty 前端开发入门五之Mysql篇
openresty 前端开发入门五之Mysql篇 这章主要演示怎么通过lua连接mysql,并根据用户输入的name从mysql获取数据,并返回给用户 操作mysql主要用到了lua-resty-my ...
- [原创].NET 分布式架构开发实战五 Framework改进篇
原文:[原创].NET 分布式架构开发实战五 Framework改进篇 .NET 分布式架构开发实战五 Framework改进篇 前言:本来打算这篇文章来写DAL的重构的,现在计划有点改变.之前的文章 ...
- JAVA之旅(三十五)——完结篇,终于把JAVA写完了,真感概呐!
JAVA之旅(三十五)--完结篇,终于把JAVA写完了,真感概呐! 这篇博文只是用来水经验的,写这个系列是因为我自己的java本身也不是特别好,所以重温了一下,但是手比较痒于是就写出了这三十多篇博客了 ...
- Spring Boot 揭秘与实战(五) 服务器篇 - Tomcat 启用 HTTPS
文章目录 1. 生成证书 2. 配置 HTTPS 支持 3. 启动与测试 4. 源代码 Spring Boot 内嵌的 Tomcat 服务器可以启用 HTTPS 支持. 生成证书 使用第三方 CA 证 ...
- Spring Boot 揭秘与实战(五) 服务器篇 - 其他内嵌服务器 发表于 2017-01-03 | Spring框架 | Spri
文章目录 1. Jetty 的切换 2. Undertow的使用 Spring Boot 可选择内嵌 Tomcat.Jetty 和 Undertow,因此我们不需要以 war 包形式部署项目.< ...
- Spring Boot 揭秘与实战(五) 服务器篇 - Tomcat 代码配置
Spring Boot 内嵌的 Tomcat 服务器默认运行在 8080 端口.如果,我们需要修改Tomcat的端口,我们可以在 src/main/resources/application.prop ...
- Spring Boot 揭秘与实战(五) 服务器篇 - 内嵌的服务器 Tomcat剖析
文章目录 1. 内嵌的 Tomcat,一个Jar包运行 2. 如何定制内嵌 Tomcat3. War 包部署的使用细节 2.1. 设置内嵌Tomcat的端口 2.2. 设置内嵌Tomcat的最大线程数 ...
- 【mysql】备份篇2:使用java程序定期备份mysql数据库
承接备份篇1, 在备份篇1中,使用dat文件加+系统计划任务程序完成mysql定期备份任务 在这一篇,备份使用java程序定期备份mysql数据库. 下面代码和程序思想给出: package com. ...
随机推荐
- jdk11的HttpClient
我们都知道在jdk11之前都在用okhttp或者org.apache.httpcomponents 其实早在jdk9的时候这个方案就在孵化中 上面的截图来自openjdk的官网,注:openjdk是 ...
- 一文搞定K8S监控告警平台选型
公众号「架构成长指南」,专注于生产实践.云原生.分布式系统.大数据技术分享 前言 最近在搞K8S的监控告警平台选型,对比了目前比较流行两款开源平台kube-prometheus.夜莺,也踩了一些坑分享 ...
- Intellij IDE 对接SVN
1.安装SVN(SVN安装包见附件) 注意安装时需要选择第二个选项进行安装 2.安装SVN中文包(见附件) 安装完成后随便找个文件夹右键确认SVN安装是否生效 3.Intellij IDE得Setti ...
- 文心一言 VS 讯飞星火 VS chatgpt (170)-- 算法导论13.2 3题
三.用go语言,设在图 13-2 左边一棵树中,a.b和c 分别为子树a.β和γ中的任意结点.当结点 x 左旋之后,a.b和c 的深度会如何变化? 文心一言: 在二叉树中,左旋操作是改变节点的子节点顺 ...
- Winform PictureBox图片旋转
Image img = this.pictureBox1.Image; img.RotateFlip(RotateFlipType.Rotate90FlipNone); this.pictureBox ...
- 直接在*.vue文件(SFC)中使用JSX/TSX渲染函数,真香!
前言 在日常开发中vue的模版语法在大多数情况都能够满足我们的需求,但是在一些复杂的业务场景中使用模版语法就有些麻烦了.这个时候灵活的JSX/TSX渲染函数就能派上用场了,大多数同学的做法都是将*.v ...
- 使用bind搭建内网dns服务
dns服务端方案简介 dns服务有什么用呢,尤其是内网的dns服务,其实用处还蛮大的,我见过的典型使用,是数据库跨机房多活. 如某mysql主机搭建在深圳机房,为了保证高可用,那我们可以给这台主库,维 ...
- SaaS 营销怎么做?几点思考
按大部分 SaaS 公司组织架构,梳理了这 4 大业务部门(产品.市场.销售.服务-客户成功)的职责和客户价值链条.如图: 根据客户价值体验地图,分为两块过程: 客户营销过程 客户成功过程 针对 Sa ...
- 实例讲解基于Sermant快速开发服务治理插件
本文分享自华为云社区<Sermant框架下的服务治理插件快速开发及使用指南>,作者: 华为云开源 . Sermant是基于Java字节码增强技术的云原生无代理服务网格,它具有非侵入.插件化 ...
- 一图看懂CodeArts Release三大特性
本文分享自华为云社区<一图看懂CodeArts Release三大特性,带你玩转发布管理服务>,作者:华为云PaaS服务小智. 华为云发布管理服务Codearts Release,是面向开 ...