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 备份 还原 导出 导入
张映 发表于 2013-12-03 分类目录: nosql 标签:mongodb, 备份, 导入, 导出, 还原 mongodb数据备份和还原主要分为二种,一种是针对于库的mongodump和mong ...
- 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 ...
随机推荐
- 王者荣耀交流协会final发布WBS+PSP
WBS: PSP: 时间为估计,大致精确. 类型 personal software process stages 预估时间 实际花费时间 planning 计划 4h 4h estimate 4h ...
- 网页调用vlc并播放网络视频
环境:windows/android/ios windows端保存以下内容为reg文件并运行 Windows Registry Editor Version 5.00 [HKEY_CLASSES_RO ...
- Java 常用类String类、StringBuffer类
常用类 String类.StringBuffer类 String代表不可变的字符序列 "xxxxxxx"为该类的对象 举例(1) public class Test { publi ...
- mysql不能启动报error2013错误的解决办法
Mysql mysql lost connection to server during query 问题解决方法 2013-10-16 11:10:53 缘由: 在查询Mysql中的数据库,或者修改 ...
- 我是IT小小鸟读书笔记
阅读了我是IT小小鸟后发现,自己开发程序是真的很苦难的,在现在这个空对空的时期,我们学习到大部分的全都是理论知识,而没有真正的去进行实践.没有经过实践,我们在程序开发过程中也就无法发现自身的困难. 在 ...
- lintcode-107-单词切分
107-单词切分 给出一个字符串s和一个词典,判断字符串s是否可以被空格切分成一个或多个出现在字典中的单词. 样例 给出 s = "lintcode" dict = [" ...
- JSON:JavaScript 对象表示法
JSON:JavaScript 对象表示法(JavaScript Object Notation). JSON 是存储和交换文本信息的语法.类似 XML. JSON 比 XML 更小.更快,更易解析. ...
- Scrum冲刺博客汇总
第一篇 Scrum冲刺博客 http://www.cnblogs.com/LZTZ/p/8886296.html 第二篇 Scrum冲刺博客 http://www.cnblogs.com/LZTZ/p ...
- IE 代理服务器设置程序实现
IE 代理服务器设置程序实现 分类: Delphi2003-08-02 18:42 1398人阅读 评论(0) 收藏 举报 服务器ieinternetstringconstructordelphi 本 ...
- 20个PHP程序性能优化的方法
1.数据库连接当使用完毕时应当关闭,不要使用长连接. 2.用@屏蔽错误消息的做法非常低效,极其低效. 3.使用选择分支语句(switch case)好于使用多个if,else if. 4.$row[' ...