mongodb 备份 还原 导出 导入
mongodb数据备份和还原主要分为二种,一种是针对于库的mongodump和mongorestore,一种是针对库中表的mongoexport和mongoimport。
一,mongodump备份数据库
1,常用命令格
- mongodump -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -o 文件存在路径
如果没有用户谁,可以去掉-u和-p。
如果导出本机的数据库,可以去掉-h。
如果是默认端口,可以去掉--port。
如果想导出所有数据库,可以去掉-d。
2,导出所有数据库
- [root@localhost mongodb]# mongodump -h 127.0.0.1 -o /home/zhangy/mongodb/
- connected to: 127.0.0.1
- Tue Dec 3 06:15:55.448 all dbs
- Tue Dec 3 06:15:55.449 DATABASE: test to /home/zhangy/mongodb/test
- Tue Dec 3 06:15:55.449 test.system.indexes to /home/zhangy/mongodb/test/system.indexes.bson
- Tue Dec 3 06:15:55.450 1 objects
- Tue Dec 3 06:15:55.450 test.posts to /home/zhangy/mongodb/test/posts.bson
- Tue Dec 3 06:15:55.480 0 objects
- 。。。。。。。。。。。。。。。。。。。。省略。。。。。。。。。。。。。。。。。。。。。。。。。。
3,导出指定数据库
- [root@localhost mongodb]# mongodump -h 192.168.1.108 -d tank -o /home/zhangy/mongodb/
- connected to: 192.168.1.108
- Tue Dec 3 06:11:41.618 DATABASE: tank to /home/zhangy/mongodb/tank
- Tue Dec 3 06:11:41.623 tank.system.indexes to /home/zhangy/mongodb/tank/system.indexes.bson
- Tue Dec 3 06:11:41.623 2 objects
- Tue Dec 3 06:11:41.623 tank.contact to /home/zhangy/mongodb/tank/contact.bson
- Tue Dec 3 06:11:41.669 2 objects
- Tue Dec 3 06:11:41.670 Metadata for tank.contact to /home/zhangy/mongodb/tank/contact.metadata.json
- Tue Dec 3 06:11:41.670 tank.users to /home/zhangy/mongodb/tank/users.bson
- Tue Dec 3 06:11:41.685 2 objects
- Tue Dec 3 06:11:41.685 Metadata for tank.users to /home/zhangy/mongodb/tank/users.metadata.json
三,mongorestore还原数据库
1,常用命令格式
- mongorestore -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 --drop 文件存在路径
--drop的意思是,先删除所有的记录,然后恢复。
2,恢复所有数据库到mongodb中
- [root@localhost mongodb]# mongorestore /home/zhangy/mongodb/ #这里的路径是所有库的备份路径
3,还原指定的数据库
- [root@localhost mongodb]# mongorestore -d tank /home/zhangy/mongodb/tank/ #tank这个数据库的备份路径
- [root@localhost mongodb]# mongorestore -d tank_new /home/zhangy/mongodb/tank/ #将tank还有tank_new数据库中
这二个命令,可以实现数据库的备份与还原,文件格式是json和bson的。无法指写到表备份或者还原。
四,mongoexport导出表,或者表中部分字段
1,常用命令格式
- mongoexport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 -f 字段 -q 条件导出 --csv -o 文件名
上面的参数好理解,重点说一下:
-f 导出指字段,以字号分割,-f name,email,age导出name,email,age这三个字段
-q 可以根查询条件导出,-q '{ "uid" : "100" }' 导出uid为100的数据
--csv 表示导出的文件格式为csv的,这个比较有用,因为大部分的关系型数据库都是支持csv,在这里有共同点
2,导出整张表
- [root@localhost mongodb]# mongoexport -d tank -c users -o /home/zhangy/mongodb/tank/users.dat
- connected to: 127.0.0.1
- exported 4 records
3,导出表中部分字段
- [root@localhost mongodb]# mongoexport -d tank -c users --csv -f uid,name,sex -o tank/users.csv
- connected to: 127.0.0.1
- exported 4 records
4,根据条件敢出数据
- [root@localhost mongodb]# mongoexport -d tank -c users -q '{uid:{$gt:1}}' -o tank/users.json
- connected to: 127.0.0.1
- exported 3 records
五,mongoimport导入表,或者表中部分字段
1,常用命令格式
1.1,还原整表导出的非csv文件
- mongoimport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 --upsert --drop 文件名
重点说一下--upsert,其他参数上面的命令已有提到,--upsert 插入或者更新现有数据
1.2,还原部分字段的导出文件
- mongoimport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 --upsertFields 字段 --drop 文件名
--upsertFields根--upsert一样
1.3,还原导出的csv文件
- mongoimport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 --type 类型 --headerline --upsert --drop 文件名
上面三种情况,还可以有其他排列组合的。
2,还原导出的表数据
- [root@localhost mongodb]# mongoimport -d tank -c users --upsert tank/users.dat
- connected to: 127.0.0.1
- Tue Dec 3 08:26:52.852 imported 4 objects
3,部分字段的表数据导入
- [root@localhost mongodb]# mongoimport -d tank -c users --upsertFields uid,name,sex tank/users.dat
- connected to: 127.0.0.1
- Tue Dec 3 08:31:15.179 imported 4 objects
4,还原csv文件
- [root@localhost mongodb]# mongoimport -d tank -c users --type csv --headerline --file tank/users.csv
- connected to: 127.0.0.1
- Tue Dec 3 08:37:21.961 imported 4 objects
总体感觉,mongodb的备份与还原,还是挺强大的,虽然有点麻烦。
mongodb 备份 还原 导出 导入的更多相关文章
- Mongodb 备份 还原 导出 导入 等批量操作
mongodb数据备份和还原主要分为二种,一种是针对于库的mongodump和mongorestore,一种是针对库中表的mongoexport和mongoimport. 一,mongodump备份数 ...
- mongodb 数据库操作--备份 还原 导出 导入(转)
mongodb 数据库操作--备份 还原 导出 导入 -------------------MongoDB数据导入与导出------------------- 1.导出工具:mongoexport ...
- mongodb 数据库操作--备份 还原 导出 导入
mongodb数据备份和还原主要分为二种,一种是针对于库的mongodump和mongorestore,一种是针对库中表的mongoexport和mongoimport 一,mongodump备份数据 ...
- Mongodb 备份 数据导出导入
MongoDB 客户端工具 mongochef 可以进行一系类操作 MongoDB 非客户端操作 : mongod 备份导出 mongoexport -h IP --port 端口 -u 用户名 -p ...
- mongodb数据库操作--备份 还原 导出 导入
首先数据库备份: mongodump -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -o 文件存在路径 mongodump -h 127.0.0.1 -u admin -p ...
- 一次生产环境下MongoDB备份还原数据
最近开发一个版本的功能当中用到了MongoDB分页,懒于造数据,于是就研究了下从生产环境上导出数据到本地来进行测试. 研究了一下,发现MongoDB的备份还原和MySQL语法还挺类似,下面请看详细介绍 ...
- mongodb 备份还原
一.简介 说起来数据库的“备份-还原”,在RDBMS系统中,都有很好的支持,也有很多选项可以设置,功能强大,也能自动完成大部分的备份功能,只要当初设置好了就可以了.对于MongoDB文档型的数据库来说 ...
- mongodb备份还原
备份:mongodump mongodump常用参数 --db:指定导出的数据库 --collection:指定导出的集合 --excludeCollection:指定不导出的集合 --host :远 ...
- mongodb备份恢复,数据导入导出
数据导出 mongoexport 假设库里有一张apachelog表,里面有2 条记录,我们要将它导出 /test/mongodb/bin/mongo use wxdata switched to d ...
随机推荐
- '"千"第一周学习情况记录
一周过去了,今天将我这一周的学习内容和主要感想记录与此和大家共同分享,一起进步.我将自己的学习计划命名为"千",因为我喜欢这个字,希望能用此来鼓舞自己不断前进.时间总是很快的,这一 ...
- quick3.5 removeFromParent()导致的windows下模拟器崩溃问题
今天遇到一个问题,点击一个按钮,这个按钮所在的layer从scene移除: local click = function ( event ) local StartScene=require(&quo ...
- img的绝对路径转为相对路径
$('#add_img').on('change', function(){ var objUrl = getObjectURL(this.files[0]) ; if (objUrl) { $(th ...
- Nginx模块之———— RTMP 模块的在线统计功能 stat 数据流数据的获取(不同节点则获取的方式不同)
一.目前只有一个Live节点存在 单节点获取方式如下: public function getStreamByIp($outerIP, $streamName) { //查询录像模块的IP地址外网,根 ...
- js实现对移动设备的检测
<script type="text/javascript"> if (browserRedirect()) { location.href = 'http:/phon ...
- hdu 5676 ztr loves lucky numbers
题目链接:hdu 5676 一开始看题还以为和数位dp相关的,后来才发现是搜索题,我手算了下,所有的super lucky number(也就是只含数字4, 7且4, 7的数量相等的数)加起来也不过几 ...
- Deep Learning 26:读论文“Maxout Networks”——ICML 2013
论文Maxout Networks实际上非常简单,只是发现一种新的激活函数(叫maxout)而已,跟relu有点类似,relu使用的max(x,0)是对每个通道的特征图的每一个单元执行的与0比较最大化 ...
- 01.JavaScript 面向对象精要--原始类型和引用类型
一.什么是类型 JavaScript 虽然没有类的概念.但依然存在两种类型:原始类型和应用类型. 原始类型保存为简单的数据值,引用类型则保存为对象,其本质是指向内存位置 的引用.也就是说:原始值被直接 ...
- ubuntu14.04 Hadoop单机开发环境搭建MapReduce项目
Hadoop官网:http://hadoop.apache.org/ 目前最新的版本是Hadoop 3.0.0-alpha1前提:java 1.6 版本以上 首先从官网下载压缩包(hadoop-3.0 ...
- ATC空管系统的实时控制软件系统分析
什么是ATC空管系统? 空中交通管制的目的是对航空器的空中活动进行有效的管理,维护空中交通秩序,保障空中交通畅通,保证飞行安全和提高飞行效率,防止航空器相撞,防止机场及其附近空域的航空器同障碍物相撞. ...