MongoDB系列----备份与导入导出

时间:2022-12-19 12:15:53

参考:

http://my.oschina.net/xiaomaoandhong/blog/63471,<<mongoDB权威指南>>

1.停掉服务器 然后备份

Mongodb将所有数据都存放在"数据目录(data/db)"下,启动mongoDB时可以用--dbpath指定我们自己设置的数据存储目录

备份: 只需要创建数据存储目录的副本就可以了,直接copy一份。

恢复: 在MongoDB启动时用 --dbpath指定数据存储目录副本的位置。

2.不停服务器 直接备份

1.mongodump和mongorestore

mongodump就是一种能在运行时备份的方法,mongoDB自带这个工具.

mongodump对运行的MongoDB做查询,然后将所有查询到的文档写入磁盘

mongostore是能获取mongodump的输出结果,并将备份的数据插入到运行的MongoDB实例中.mongodb也提供了这个工具

使用示例:

备份:mongodump -h dbhost -d test -o backup (或者 -o D:\test\dump\UserData)

其中:

-h 指定了Mongodb所在服务器的地址 如:127.0.0.1 或者 127.0.1.1:27017

-d 指定了要备份的数据库

-o 指定了备份的位置 此处表示 备份test数据库到与当前mongodump命令同一位置backup目录下

恢复:mongorestore -h dbhost -d foo --drop backup/test   (或者 --drop D:\test\dump\UserData)
其中:
-h Mongodb所在服务器地址
-d 指定了要恢复的数据库,可以将备份的数据库恢复到与原来不同的数据库中,这里为foo
-drop 表示在恢复前删除集合(若存在).否则,数据就出现与现有集合数据合并,可能会覆盖一些文档.
-- backup/test 是指备份文件的路径

优势:不用停掉服务器

不足之处:不是实时的快照;

在备份过程中会执行查询,对其他的业务查询会有性能上的影响

2.fsync和锁

原理:

fsync命令会强制服务器将所有缓冲区写入磁盘,还可以选择上锁阻止对数据库的进一步写入,以保证数据

的实时性。直到释放锁为止。

使用:

use admin

db.runCommand({fsync:1,lock:1});

//至此,数据目录的数据就是一致的,且为数据的实时快照。因为上了写入锁,可以保证安全的将数据目录副本用作备份。

db.$cmd.sys.unlock.findOne();

db.currentOp();

//运行db.currentOp(); 是为了确保已经解锁了.

优势:不用停掉服务器

是数据库的时候快照

不足之处:因为备份过程对数据库上了锁,所以会阻塞写入操作。

4、从属备份

当以复制的方式运行MongoDB时,前面提到的备份技术就不仅能用在主服务器上,也可以用在从服务器上;

从服务器的数据几乎和主服务器同步;

在从服务器上备份是MongoDB推荐的备份方式

导入导出参考:

http://chenzhou123520.iteye.com/blog/1641319

导出

Mongodb中的mongoexport工具可以把一个collection导出成JSON格式或CSV格式的文件。

mongoexport -h 119.147.53.178 --port 27777 -d UserData -c huodong_zmop_Record  --type=json -o lihao.json

可以通过参数指定导出的数据项,也可以根据指定的条件导出数据

导入

使用mongoimport工具可以把一个csv或者json等之类的文件导入指定集合

例子:导入一个包含有列名的csv文件
mongoimport -h 192.168.1.87:27017 -d "UserData" -c "huodong_4gzzhk" --type=csv --headerline --file=测试.csv

MongoDB系列----备份与导入导出的更多相关文章

  1. CRL快速开发框架系列教程九&lpar;导入&sol;导出数据&rpar;

    本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...

  2. Linux下mongodb安装及数据导入导出教程

    Linux下mongodb安装及数据导入导出教程 #查看linux发行版本 cat /etc/issue #查看linux内核版本号 uname -r 一.Linux下mongodb安装的一般步骤 1 ...

  3. mongodb 的备份恢复导入与导出

    导入导出 use hndb; db.s.save({name:'李四',age:18,score:80,address:'郑州'}); db.s.save({name:'李三',age:8,score ...

  4. mongdb 备份还原导入导出

    -------------------MongoDB数据导入与导出------------------- 1.导出工具:mongoexport     1.概念:         mongoDB中的m ...

  5. node&period;js零基础详细教程&lpar;6&rpar;:mongodb数据库操作 以及导入导出

    第六章 建议学习时间4小时  课程共10章 学习方式:详细阅读,并手动实现相关代码 学习目标:此教程将教会大家 安装Node.搭建服务器.express.mysql.mongodb.编写后台业务逻辑. ...

  6. consul备份还原导入导出

    工作中要保证生产环境部署的consul的集群能够安全稳定地对外提供服务,即使出现系统故障也能快速恢复,这里将讲述部分的备份还原操作及KV的导入导出操作. 备份与还原 需要备份的主要有两类数据:cons ...

  7. 云服务器 ECS Linux 系统 MySQL 备份的导入导出

    MySQL 备份的导出 注意: 如果您使用的是帮助中心的一键环境配置,那么 MySQL 的安装目录是 /alidata/server/mysql. 如果您将 MySQL 安装到其他目录,您需要输入您 ...

  8. vertica系列&colon;数据的导入导出

    本文仅涉及 Vertica 导入导出本地文件, 以及两个 Vertica 集群相互导出, 不涉及 Vertica 和 hdfs/Hive 导入导出和互操作. copy 数据导入工具 copy 命令无疑 ...

  9. elasticsearch 5&period;x 系列之五 数据导入导出

    一.首先给大家发一个福利,分享一个elasticsearch 数据导出工具. esm github 源码地址: https://github.com/medcl/esm 下载编译好的对应elastic ...

随机推荐

  1. protobuf框架简介

                         protocolbuffer(以下简称PB)是google 的一种数据交换的格式,它独立于语言,独立于平台.google 提供了三种语言的实现:java.c+ ...

  2. Instruments指南:如何调试内存泄露

    Instruments指南:如何调试内存泄露 开篇 现在,你应该使用的ARC,而不是原来我们使用的MRC或者其他.但是我们在使用ARC的时候也会出现内存泄露的情况. 幸运的是,苹果为我们提供了Inst ...

  3. JQUERY 拖拽 draggable droppable resizable selectable sortable

    今天用了jq ui的拖动碰撞功能,好不容易看到有详细的API解说,记录如下:   <script language="JavaScript" type="text/ ...

  4. 移动端开发(使用webuploader上传图片&comma;客户端交互&comma;修改alert弹窗等)

    之前实习做的一个移动端的页面 需要的功能有图片上传 点击客户端的返回按钮 有提示(即与客户端有交互) 遇到不少的坑 总结一下问题 1.图片上传功能  使用工具 百度的webuploader 暂时遇到的 ...

  5. nodejs集成sqlite

    正在物色node上面的轻量级嵌入式数据库,作为嵌入式数据库的代表,sqlite无疑是个理想的选择方案.npm上集成sqlite的库主要有两个——sqlite3和realm. realm是一个理想的选择 ...

  6. Fiddler-学习笔记-远程抓包

    1 操作系统低于win7用 fiddler 2 win7 或win7以上版本,用 fiddler4片本 2 fiddler开关:左下角或点击F12控件fiddler开关,开=capturing 3 启 ...

  7. 网页三剑客:HTML&plus;CSS&plus;JavaScript 之CSS概述

    CSS 简介 什么是 CSS? CSS 指层叠样式表 (Cascading Style Sheets) 样式定义如何显示 HTML 元素 样式通常存储在样式表中 把样式添加到 HTML 4.0 中,是 ...

  8. JSTLView快速国际化(SpringMVC)

    JSTLView:快速国际化:只要导入了jstl的jar包,以前默认创建的InternalResouceView都会被使用jstlView替代:    国际化的新步骤:           1).写好 ...

  9. 生产者与消费者问题,C&plus;&plus;利用bind基于对象实现与面向对象实现

    body, table{font-family: 微软雅黑; font-size: 10pt} table{border-collapse: collapse; border: solid gray; ...

  10. Alpha答辩总结

    [Alpha展示评审表格] 小组序号 小组名称 格式(20%) 内容(20%) PPT(20%) 演讲(20%) 答辩(20%) 总分 1 天机组 15 15 15 15 16 76 2 PMS 16 ...