当前位置:网站首页>MongoDB的导入导出、备份恢复总结
MongoDB的导入导出、备份恢复总结
2022-07-07 11:17:00 【cui_yonghua】
基础篇(能解决工作中80%的问题):
进阶篇:
其它:
一. 导入导出
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
[email protected]:/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
[email protected]:/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/,当然该目录需要提前建立,这个目录里面存放该数据库实例的备份数据。
案例:创建备份数据库存放位置,执行导出命令
[email protected]:~$ sudo rm -rf /home/mongodump/
[email protected]:~$ sudo mkdir -p /home/mongodump/
[email protected]:~$ 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/
边栏推荐
- CMU15445 (Fall 2019) 之 Project#2 - Hash Table 详解
- 《开源圆桌派》第十一期“冰与火之歌”——如何平衡开源与安全间的天然矛盾?
- 谷歌浏览器如何重置?谷歌浏览器恢复默认设置?
- 博文推荐|Apache Pulsar 跨地域复制方案选型实践
- How to reset Google browser? Google Chrome restore default settings?
- 企业级自定义表单引擎解决方案(十二)--体验代码目录结构
- Shortcut key of Bash
- How does MySQL create, delete, and view indexes?
- 服务器到服务器 (S2S) 事件 (Adjust)
- Practical example of propeller easydl: automatic scratch recognition of industrial parts
猜你喜欢
LIS 最长上升子序列问题(动态规划、贪心+二分)
日本政企员工喝醉丢失46万信息U盘,公开道歉又透露密码规则
. Net ultimate productivity of efcore sub table sub database fully automated migration codefirst
Sample chapter of "uncover the secrets of asp.net core 6 framework" [200 pages /5 chapters]
飞桨EasyDL实操范例:工业零件划痕自动识别
详细介绍六种开源协议(程序员须知)
处理链中断后如何继续/子链出错removed from scheduling
【无标题】
将数学公式在el-table里面展示出来
MySQL入门尝鲜
随机推荐
Users, groups, and permissions
.Net下極限生產力之efcore分錶分庫全自動化遷移CodeFirst
2022-07-07 Daily: Ian Goodfellow, the inventor of Gan, officially joined deepmind
Leetcode skimming: binary tree 20 (search in binary search tree)
线程池拒绝策略最佳实践
php——laravel缓存cache
【无标题】
COSCon'22 社区召集令来啦!Open the World,邀请所有社区一起拥抱开源,打开新世界~
滑轨步进电机调试(全国海洋航行器大赛)(STM32主控)
AUTOCAD——大于180度的角度标注、CAD直径符号怎么输入?
JS determines whether an object is empty
.Net下极限生产力之efcore分表分库全自动化迁移CodeFirst
[untitled]
Why can basic data types call methods in JS
谷歌浏览器如何重置?谷歌浏览器恢复默认设置?
云检测2020:用于高分辨率遥感图像中云检测的自注意力生成对抗网络Self-Attentive Generative Adversarial Network for Cloud Detection
智云健康上市:市值150亿港元 SIG经纬与京新基金是股东
PAcP learning note 3: pcap method description
Leetcode brush questions: binary tree 19 (merge binary tree)
高瓴投的澳斯康生物冲刺科创板:年营收4.5亿 丢掉与康希诺合作