MongoDB的导入导出、备份恢复总结

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介: 这篇文章是关于MongoDB的导入导出、备份恢复操作的总结。

一. 导入导出

1.1 导出工具mongoexport

Mongodb中的mongoexport工具可以把一个collection导出成JSON格式或CSV格式的文件。可以通过参数指定导出的数据项,也可以根据指定的条件导出数据。

mongoexport具体用法如下所示:

mongoexport -d dbname -c collectionname -o file --type json/csv -f field

参数说明:

-d 数据库名
-c collection名
-o 输出的文件名
—type 输出的格式,默认为json
-f 输出的字段,如果—type为csv,则需要加上 -f “字段名”

示例:导出集合articles,字段 _id,author,dave,score,views

python@ubuntu:/home/mongodump$ sudo mongoexport -d itcast -c articles -o /home/mongodump/articles.json --type json -f  "_id,author,dave,score,views"
2016-09-15T20:33:50.870+0800    connected to: localhost
2016-09-15T20:33:50.871+0800    exported 7 records
1.2 数据导入 mongoimport

mongoimport具体用法如下所示:

mongoimport -d dbname -c collectionname --file filename --headerline --type json/csv -f field

参数说明:

-d 数据库名
-c collection名
—type 导入的格式,默认json
-f 导入的字段名
—headerline 如果导入的格式是csv,则可以使用第一行的标题作为导入的字段
—file 要导入的文件

示例:导入集合articles_import,字段 _id,author,dave,score,views

python@ubuntu:/home/mongodump$ sudo mongoimport -d itcast -c articles_import --file /home/mongodump/articles.json --type json
2016-09-15T20:41:05.682+0800    connected to: localhost
2016-09-15T20:41:05.706+0800    imported 7 documents

二. 备份恢复

2.1 为什么要定期进行数据库的备份

数据备份就是要保存数据的完整性,防止断电,病毒感染等等情况,使数据丢失。有必要的话,最好勤备份,防止数据丢失。

最主要的原因:要知道,在地球上网是很危险的,即使做好安全预防措施,也难免会发生不可预想的问题。

2.2 MongoDB数据备份

在Mongodb中使用mongodump命令来备份MongoDB数据。该命令可以导出所有数据到指定目录中。

mongodump --help: 可选参数列表

mongodump命令脚本语法如下:

mongodump -h dbhost -d dbname -o dbdirectory
-h:MongDB所在服务器地址,例如:127.0.0.1,当然也可以指定端口号:127.0.0.1:27017
-d:需要备份的数据库实例,例如:test
-o:备份的数据存放位置,例如:/home/mongodump/,当然该目录需要提前建立,这个目录里面存放该数据库实例的备份数据。

案例:创建备份数据库存放位置,执行导出命令

python@ubuntu:~$ sudo rm -rf /home/mongodump/
python@ubuntu:~$ sudo mkdir -p /home/mongodump/
python@ubuntu:~$ sudo mongodump -h 192.168.17.129:27017 -d itcast -o /home/mongodump/

执行以上命令后,客户端会连接到ip为 192.168.17.129 端口号为 27017 的MongoDB服务上,并备份所有数据到 /home/mongodump/目录中。

2.3 MongoDB数据恢复

mongodb使用 mongorerstore 命令来恢复备份的数据。

mongorestore --help: 可选参数列表

语法: mongorestore命令脚本语法如下:

mongorestore -h dbhost -d dbname --dir dbdirectory
-h:MongoDB所在服务器地址
-d:需要恢复的数据库实例,例如:test,当然这个名称也可以和备份时候的不一样,比如test2
—dir:备份数据所在位置,例如:/home/mongodump/itcast/
—drop:恢复的时候,先删除当前数据,然后恢复备份的数据。就是说,恢复后,备份后添加修改的数据都会被删除,慎用!

接下来我们执行以下命令:

mongorestore -h 192.168.17.129:27017 -d itcast_restore --dir /home/mongodump/itcast/
相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
相关文章
|
NoSQL MongoDB
|
JSON NoSQL MongoDB
mongoDB数据导入导出与备份恢复
mongoDB数据导入导出与备份恢复
|
NoSQL 数据库 MongoDB
MongoDB秒级备份恢复(SDCC上海站数据库核心技术与应用实战峰会分享PPT)
本文是我3月18日在CSDN举办的SDCC上分享的PPT内容,主要介绍如何对MongoDB复制集及分片集群实现任意时间点的备份恢复,猛击这里下载PDF版本
|
NoSQL 安全 关系型数据库
5.非关系型数据库(Nosql)之mongodb:创建集合,备份与导入导出, 数据还原,导入导出
 1 固定集合 固定集合值得是事先创建而且大小固定的集合 2 固定集合的特征:固定集合很像环形队列,如果空间不足,最早文档就会被删除,为新的文档腾出空间。一般来说,固定集合适用于任何想要自动淘汰过期属性的场景,没有太多的操作限制。 3 创建固定集合使用命令: db.createCollection(“collectionName”,{capped:t
1509 0
|
NoSQL 数据库 MongoDB
mongodb导入导出备份恢复
mongodb数据库同样离不开必要的维护,如备份、恢复、导入、导出。 其实备份和恢复比导入和导出要方便些,而且一般不会出错,所以大部分时候使用备份和恢复操作就可以了 1. 备份Mongodb mongodump -h RuiyIp -d dataname -o /home/aa/dev/mon...
1669 0
|
1月前
|
存储 关系型数据库 MySQL
一个项目用5款数据库?MySQL、PostgreSQL、ClickHouse、MongoDB区别,适用场景
一个项目用5款数据库?MySQL、PostgreSQL、ClickHouse、MongoDB——特点、性能、扩展性、安全性、适用场景比较
|
2月前
|
存储 NoSQL 关系型数据库
非关系型数据库-MongoDB技术(二)
非关系型数据库-MongoDB技术(二)
|
23天前
|
NoSQL Cloud Native atlas
探索云原生数据库:MongoDB Atlas 的实践与思考
【10月更文挑战第21天】本文探讨了MongoDB Atlas的核心特性、实践应用及对云原生数据库未来的思考。MongoDB Atlas作为MongoDB的云原生版本,提供全球分布式、完全托管、弹性伸缩和安全合规等优势,支持快速部署、数据全球化、自动化运维和灵活定价。文章还讨论了云原生数据库的未来趋势,如架构灵活性、智能化运维和混合云支持,并分享了实施MongoDB Atlas的最佳实践。
|
24天前
|
NoSQL Cloud Native atlas
探索云原生数据库:MongoDB Atlas 的实践与思考
【10月更文挑战第20天】本文探讨了MongoDB Atlas的核心特性、实践应用及对未来云原生数据库的思考。MongoDB Atlas作为云原生数据库服务,具备全球分布、完全托管、弹性伸缩和安全合规等优势,支持快速部署、数据全球化、自动化运维和灵活定价。文章还讨论了实施MongoDB Atlas的最佳实践和职业心得,展望了云原生数据库的发展趋势。