MongoDB系列----备份与导入导出
参考:
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系列----备份与导入导出的更多相关文章
- CRL快速开发框架系列教程九(导入/导出数据)
本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...
- Linux下mongodb安装及数据导入导出教程
Linux下mongodb安装及数据导入导出教程 #查看linux发行版本 cat /etc/issue #查看linux内核版本号 uname -r 一.Linux下mongodb安装的一般步骤 1 ...
- mongodb 的备份恢复导入与导出
导入导出 use hndb; db.s.save({name:'李四',age:18,score:80,address:'郑州'}); db.s.save({name:'李三',age:8,score ...
- mongdb 备份还原导入导出
-------------------MongoDB数据导入与导出------------------- 1.导出工具:mongoexport 1.概念: mongoDB中的m ...
- node.js零基础详细教程(6):mongodb数据库操作 以及导入导出
第六章 建议学习时间4小时 课程共10章 学习方式:详细阅读,并手动实现相关代码 学习目标:此教程将教会大家 安装Node.搭建服务器.express.mysql.mongodb.编写后台业务逻辑. ...
- consul备份还原导入导出
工作中要保证生产环境部署的consul的集群能够安全稳定地对外提供服务,即使出现系统故障也能快速恢复,这里将讲述部分的备份还原操作及KV的导入导出操作. 备份与还原 需要备份的主要有两类数据:cons ...
- 云服务器 ECS Linux 系统 MySQL 备份的导入导出
MySQL 备份的导出 注意: 如果您使用的是帮助中心的一键环境配置,那么 MySQL 的安装目录是 /alidata/server/mysql. 如果您将 MySQL 安装到其他目录,您需要输入您 ...
- vertica系列:数据的导入导出
本文仅涉及 Vertica 导入导出本地文件, 以及两个 Vertica 集群相互导出, 不涉及 Vertica 和 hdfs/Hive 导入导出和互操作. copy 数据导入工具 copy 命令无疑 ...
- elasticsearch 5.x 系列之五 数据导入导出
一.首先给大家发一个福利,分享一个elasticsearch 数据导出工具. esm github 源码地址: https://github.com/medcl/esm 下载编译好的对应elastic ...
随机推荐
- pandas导入导出数据-【老鱼学pandas】
pandas可以读写如下格式的数据类型: 具体详见:http://pandas.pydata.org/pandas-docs/version/0.20/io.html 读取csv文件 我们准备了一个c ...
- RecyclerView滑动到指定位置,并置顶
一般我们用 mRecycleview.smoothScrollToPosition(0)滑动到顶部,具有滚动效果,但是如果我们想滚动到任意指定位置,那么smoothScrollToPosition() ...
- Fibonacci数列(数列 取模)
问题描述 Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1. 当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少. 输入格式 输入包含一个整数n ...
- LeetCode题解 | 215. 数组中的第K个最大元素
在未排序的数组中找到第 k 个最大的元素.请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素. 示例 1: 输入: [3,2,1,5,6,4] 和 k = 2 输出: 5 ...
- django——视图层
1. 视图函数 一个视图函数,简称视图,是一个简单的Python 函数,它接受Web请求并且返回Web响应.响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片. ...
- 最近公共祖先问题(LCA)的几种实现方式
LCA也是很经典的内容了,我这个蒟蒻居然今天才开始弄QAQ 我太弱啦! 照例先上定义——————转自维基百科 在图论和计算机科学中,最近公共祖先是指在一个树或者有向无环图中同时拥有v和w作为后代的最深 ...
- Tensorflow Chapter-6
|--子节点 |--单位节点矩阵:长宽为1,深度不限 |--多维度的二维卷积,和之前的理解不一样:应该是每个通道都要计算在下一层的每个节点上:2*2*3,f=1*1*5 -> 2*2*3*5个参 ...
- Jenkins调度Selenium脚本不能打开浏览器解决办法
前提:在Myeclipse里面可以启动起来浏览器,在Jenkins中不能启动浏览器 原因:以程序的方式安装了jenkins,jenkins就成了windows的一个服务了,默认是设置为自动启动的如下图 ...
- mac chrome 强制刷新浏览器缓存
普通刷新 command + r 强制刷新 command + shift + r
- iOS拼音搜索,拼音首字母搜索
扩展了一下 搜索框,能够实现拼音和首字母模糊搜索 基本搜索 上一篇文章 #import "NSString+utility.h" @interface WJWPinyinSearc ...