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 ...
随机推荐
- jquery中focus()函数实现当对象获得焦点后自动把光标移到内容最后
代码如下: setFocus=function(id){ var t=$("#"+id).val(); $("#"+id).val(""). ...
- 解决file_get_contents遇到中文文件名无法打开问题
利用file_get_contents打开文件或采集远程服务器文件如果文名或url中碰到汉字中文那么会出现failed to open stream:Lnvalid argument in错误. ...
- Delphi中使用比较少的一些语法
本文是为了加强记忆而写,这里写的大多数内容都是在编程的日常工作中使用频率不高的东西,但是又十分重要. ---Murphy 1,构造和析构函数: a,构造函数: 一般基于TComponent组件的派生类 ...
- quantile normalization原理
对于芯片或者其它表达数据来说,最常见的莫过于quantile normalization啦. 那么它到底对我们的表达数据做了什么呢?首先要么要清楚一个概念,表达矩阵的每一列都是一个样本,每一行都是一个 ...
- Intent四个重要属性
Intent四个重要属性 Intent作为联系各Activity之间的纽带,其作用并不仅仅只限于简单的数据传递.通过其自带的属性,其实可以方便的完成很多较为复杂的操作.例如直接调用拨号功能.直接自 ...
- C# redis使用
1.下载安装Redis常用组件 下载地址https://github.com/dmajkic/redis/downloads 把文件内容拷贝到需要安装的目录下,如:E:\redis-2.8.172.启 ...
- Ubuntu 和 Redhat / Fedora 服务管理命令对比表(附Fedora16新的服务管理工具systemctl )
以 apache/httpd 服务作为例子 任务 Red Hat / Fedora Ubuntu Ubuntu (with sysv-rc-conf or sysvconfig) 立即启动/停止某服务 ...
- 关于unity碰撞检测器的用法
今天已经是我第三次忘记了这两种碰撞检测的用法,混淆了.特意整理一下 首先把今天要解决涉及到的东西列出来 碰撞方法: public void OnTriggerEnter(Collider other) ...
- 网易云音乐PC端刷曲快捷键
文章首发于szhshp的第三边境研究所(szhshp.org), 转载请注明 网易云音乐PC端刷曲快捷键 好吧我承认我特别懒 云音乐其实做的还不错,FM推荐的算法明显比虾米好. 虾米可以听的曲子都 ...
- Scrapy--1安装和运行
1.Scrapy安装问题 一开始是按照官方文档上直接用pip安装的,创建项目的时候并没有报错, 然而在运行 scrapy crawl dmoz 的时候错误百粗/(ㄒoㄒ)/~~比如: ImportEr ...