MongoDB/备份

摘要:
Mongodump:在MongoDB中,我们使用Mongodump命令备份MongoDB数据/bin/Mongodump-hdbhost ddbname oyourdirectory。/Bin/mongodump-hostmongodb。实例net--port27017--dbtest--collectionsome--usernameusr--passwordpwd--gzipourdirectory如果直接执行mongodump而不带任何参数,它将连接到本地27017端口上的MongoDB实例,并创建名为dump/Bin/mongodump-hdbhost-ddbname-ccname-q'{“uid”:“100”}'的备份,odbdirectory gzip指示是否压缩备份。当MongoDB未启动时,请使用以下命令。这样,您就不需要运行MongoDB实例。如果它已经在运行,则必须停止它/Bin/mongodump-dbpath/data/db-out/data/backup--dbtest-usernameusr-passwordpwdmongstore:Restore以使用mongorestore命令/Bin/mongorestore hdbhost ddbnamedbdirectory。/Bin/mongorestore-hostmongodb。实例net--port27017-dbtest--collectionsome--usernameusr-passwordpwd/data/backup指定collection时,使用--query参数恢复一些数据。备份碎片也是一样的-将h和-p更改为mongos的地址和端口。

mongodump:
在MongoDB中我们使用mongodump命令来备份MongoDB数据。该命令可以导出所有数据到指定目录中。
./bin/mongodump -h dbhost -d dbname -o yourdirectory
./bin/mongodump --host mongodb.example.net --port 27017 --db test --collection some --username usr --password pwd --gzip yourdirectory
如果不带任何参数直接执行mongodump,那么它会去连接本地27017端口上的MongoDB实例,并且会创建名为dump的备份。
在指定了collection的情况下,使用--query参数备份部分数据。
./bin/mongodump -h dbhost -d dbname -c cname -q '{ "uid" : "100" }' -o dbdirectory
--gzip表示是否压缩备份。
在MongoDB未启动时,用以下命令,在这种方式下不需要运行mongod实例,如果已经运行了,必须要停掉。
./bin/mongodump --dbpath /data/db --out /data/backup --db test --username usr--password pwd

mongorestore:
恢复使用mongorestore命令
./bin/mongorestore -h dbhost -d dbname dbdirectory
./bin/mongorestore --host mongodb.example.net --port 27017 --db test --collection some --username usr --password pwd /data/backup
在指定了collection的情况下,使用--query参数恢复部分数据。
在MongoDB未启动时,用以下命令
./bin/mongorestore --dbpath /data/db --journal /data/backup

mongoexport:
使用mongoexport,需指定collection。
./bin/mongoexport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 -f 字段 -q 条件导出 --type=csv -o 文件名

  • -f 导出指字段,以字号分割,-f name,email,age表示导出name,email,age这三个字段。
  • -q 可以根查询条件导出,-q '{ "uid" : 100 }' 导出uid为100的数据。
  • --type=csv 表示导出的文件格式为csv的。导出csv必须声明-f字段。

./bin/mongoexport -d dbname -c cname --type=csv -q '{"type":"channel"}' -f uid,name,sex -o /usr/local/mongodb/users.csv
./bin/mongoexport -d dbname -c cname -q '{uid:{$gt:1}}' -o /usr/local/mongodb/users.json
如果导出json文件,集市指定字段不包括_id,也都会自动包含_id,csv则不会。

mongoimport:
还原全部字段:
./bin/mongoimport -d dbname -c cname --upsert /usr/local/mongodb/users.json
还原部分字段(默认包含_id):
./bin/mongoimport -d dbname -c cname --upsertFields uid,name,sex /usr/local/mongodb/users.json
导入csv文件:
./bin/mongoimport -d myinfo -c usertedails_imported_csv_partial --type csv --headerline /usr/local/mongodb/users.csv
若导出csv时,未包含_id字段,则会新建_id。

  • --upsert,upsertFields 插入或者更新现有数据。
  • --headerline表示csv第一行是列名不用导入。

备份分片也相同。-h和-p改为mongos的地址和端口即可。



作者:bluebule
链接:https://www.jianshu.com/p/08a0b1ccd746
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

免责声明:文章转载自《MongoDB/备份》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Oracle数据库4--多表关联vue-router的link样式设置问题下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

MongoDB查询(数组、内嵌文档)

转自:http://blog.csdn.net/congcong68/article/details/46919227 一、简介 我们上一篇介绍了db.collection.find()可以实现根据条件查询和指定使用投影运算符返回的字段省略此参数返回匹配文档中的所有字段,我们今天介绍了对数组和内嵌文档的查询操作,尤其是对$elemMatch 同样可以用在...

下载特定区域内百度街景照片数据

下载特定区域内百度街景照片数据 本文是在康博的博文的基础上再整理的。 01 下载路网数据 基本上都是使用 Open Street Map (OSM) 的路网数据。下载 OSM 数据的方法有很多,这里就不再赘述。 我个人是使用 OpenStreetMap Data Extracts 下载了整个中国的数据,然后用研究区的边界数据进行了裁剪。具体是使用了 Arc...

手机上移动梦网中毒啦!病毒名字叫:程序管理 版本0.1.1 defwatch!找到删除它的简单方法!

我的手机型号:N70,S60 2rd 上移动梦网中毒啦!病毒名字叫:程序管理 版本0.1.1 defwatch 真是恶心啊,不知道是他们自己放的,还是别人放的?  病毒名字叫:程序管理 版本0.1.1 defwatch 的解决办法! 我找到一个比较简单的方法,自己就是这样把defwatch病毒删除的: 在手机开机后乱按键盘,我主要是按了方向键和左右的几个...

mongoDB的本地安装学习

一、介绍 MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。相比较于MySql,它省去了建表等繁琐的操作,可以实现类似于js的对象操作。 当我们从网上下载某个项目,看到...

Spring Boot 之Application.properties配置大全

Spring Boot 之Application.properties配置大全 Server server.address ---------服务器地址 server.port ---------服务器端口 server.context-parameters.[param name] ---------设置 servlet 上下文参数 server....

MongoDB 的索引到底是使用 B+ 树还是 B 树

先上结论,根据官网的说法是 B 树 然而笔者看到一篇,云栖社区-MongoDB 为什么使用B-树而不是B+树?,里面有人如下回答 实际是B+树,这个在2018年元旦北京的MongoDB专场,我问了WiredTiger引擎的作者,他也确认了是B plus Tree。虽然官方文档写了B树。 现在有些觉得迷惑了,要是有人知道,请留言告诉我好么。 由于第二个观点...