备份与还原

简介: 备份与还原

提示

备份与还原是在 bash 终端执行的,而不是在 mongo 中执行的!


MongoDB 的数据备份与恢复分为两种,一种是针对数据库mongodumpmongorestore ,一种是针对数据库中表mongoexport 和mongoimport。


数据库

mongodump——备份

$ mongodump -h <IP> --port <port> -u=<username> -p=<password> -d <dbname> -c <collection> -q <filter_condition> -o <文件存放路径>点击复制复制失败已复制


参数说明:

参数 含义
-h 指明数据库宿主机的 IP
--port 指明数据库的端口
-u 指明数据库的用户名
-p 指明数据库的密码
-d 指明数据库的名字
-c 指明 collection 的名字
-o 指明到要导出的文件名
-q 指明导出数据的过滤条件


示例:

$ mongodump -d dawen -o . 点击复制复制失败已复制


mongorestore——还原

$ mongorestore -h <IP> --port <port> -u=<username> -p=<password> -d <dbname> --drop <备份文件存放路径>点击复制复制失败已复制


参数说明:

参数 含义
-h 指明数据库宿主机的 IP
--port 指明数据库的端口
-u 指明数据库的用户名
-p 指明数据库的密码
-d 指明数据库的名字
--drop 先删除所有的记录,然后恢复


示例:

$ mongorestore -d=dawen /root/dawen点击复制复制失败已复制


数据表

mongoexport——导出

$ mongoexport -h <IP> --port <port> -u=<username> -p=<password> -d <dbname> -c <collection> -f <field> -q <filter_condition> --csv -o <文件名>点击复制复制失败已复制


参数说明:

参数 含义
-h 指明数据库宿主机的 IP
--port 指明数据库的端口
-u 指明数据库的用户名
-p 指明数据库的密码
-d 指明数据库的名字
-c 指明 collection 的名字
-f 导出指定字段,以逗号分割, -f uid,name,age 导出 uid , name , age 这三个字段
-q 可以根据查询条件导出, -q '{ "uid" : "100" }' 导出 uid100 的数据
--csv 表示导出的文件格式为 csv 的。这个比较有用,因为大部分的关系型数据库都是支持 csv ,在这里有共同点
-o 指明到要导出的文件名


提示

如果不加 --csv ,则默认导出的是 MongoDB 独有的格式。


mongoimport——导入

恢复整表导出的非csv文件

$ mongoimport -h <IP> --port <port> -u=<username> -p=<password> -d <dbname> -c <collection> --upsert --drop <文件名>点击复制复制失败已复制


特殊参数说明:

参数 含义
--upsert 插入或者更新现有数据


恢复部分字段的导出文件

$ mongoimport -h <IP> --port <port> -u=<username> -p=<password> -d <dbname> -c <collection>  --upsertFields <字段> --drop <文件名>点击复制复制失败已复制


特殊参数说明:

参数 含义
--upsertFields 更新部分的查询字段,必须为索引, 以逗号分隔


恢复导出的csv文件

$ mongoimport -h <IP> --port <port> -u=<username> -p=<password> -d <dbname> -c <collection> --type <type> --headerline --upsert --drop <文件名>点击复制复制失败已复制


特殊参数说明:

参数 含义 默认值
--type 导入的文件类型 json
目录
相关文章
|
9月前
flutter开发中Use ‘const’ with the constructor to improve performance. Try adding the ‘const’ keyword to the constructor invocation.报错如何解决-优雅草卓伊凡
flutter开发中Use ‘const’ with the constructor to improve performance. Try adding the ‘const’ keyword to the constructor invocation.报错如何解决-优雅草卓伊凡
116 1
|
数据可视化 Android开发
XMind 2021 v11.1.2破解版使用方法
XMind 2021 v11.1.2破解版使用方法
525 0
Failed to execute script ‘xxx‘ due to unhandled exception:No module named ‘ctypes‘
Failed to execute script ‘xxx‘ due to unhandled exception:No module named ‘ctypes‘
633 0
|
Kubernetes Ubuntu Windows
【Azure K8S | AKS】分享从AKS集群的Node中查看日志的方法(/var/log)
【Azure K8S | AKS】分享从AKS集群的Node中查看日志的方法(/var/log)
281 3
|
Web App开发 JavaScript 前端开发
《手把手教你》系列技巧篇(三十九)-java+ selenium自动化测试-JavaScript的调用执行-上篇(详解教程)
【5月更文挑战第3天】本文介绍了如何在Web自动化测试中使用JavaScript执行器(JavascriptExecutor)来完成Selenium API无法处理的任务。首先,需要将WebDriver转换为JavascriptExecutor对象,然后通过executeScript方法执行JavaScript代码。示例用法包括设置JS代码字符串并调用executeScript。文章提供了两个实战场景:一是当时间插件限制输入时,用JS去除元素的readonly属性;二是处理需滚动才能显示的元素,利用JS滚动页面。还给出了一个滚动到底部的代码示例,并提供了详细步骤和解释。
230 10
|
存储 SQL 关系型数据库
MySQL中的update操作与锁机制
本文探讨MySQL中`UPDATE`操作的自动加锁机制及其对数据一致性的保障作用。尤其在InnoDB存储引擎下,系统会在涉及索引的更新操作中加行锁或间隙锁,防止多事务并发修改同一条记录。通过福利码兑换系统的实例展示,当线程A开启事务更新库存时,线程B试图更新相同记录会被阻塞,直至线程A提交。此外,文章还介绍了乐观锁及版本号控制等策略进一步提升并发性能的方法。作者:小明爱吃火锅,来源:稀土掘金。
654 2
|
缓存 负载均衡 测试技术
企业系统工程(Enterprise Systems Engineering, ESE)是一个跨学科的领域,它应用系统工程的原则和方法来规划、设计、实施和管理复杂的组织系统,特别是那些涉及信息技术(IT)和商业流程的系统。
企业系统工程(Enterprise Systems Engineering, ESE)是一个跨学科的领域,它应用系统工程的原则和方法来规划、设计、实施和管理复杂的组织系统,特别是那些涉及信息技术(IT)和商业流程的系统。
|
机器学习/深度学习 算法 计算机视觉
基于深度学习网络的USB摄像头实时视频采集与人脸检测matlab仿真
**摘要 (Markdown格式):** ```markdown - 📹 使用USB摄像头(Tttttttttttttt666)实时视频检测,展示基于YOLOv2在MATLAB2022a的实施效果: ``` Tttttttttttttt1111111111------------5555555555 ``` - 📺 程序核心利用MATLAB视频采集配置及工具箱(Dddddddddddddd),实现图像采集与人脸定位。 - 🧠 YOLOv2算法概览:通过S×S网格预测边界框(B个/网格),含坐标、类别概率和置信度,高效检测人脸。
|
存储 Kubernetes 调度
在K8S中,deployment的创建过程包括什么?
在K8S中,deployment的创建过程包括什么?
|
Rust 前端开发 JavaScript
Tauri框架:使用Rust构建轻量级桌面应用
Tauri是一个用Rust构建的开源框架,用于创建轻量、安全且高效的跨平台桌面应用,结合Rust与Web技术(HTML/CSS/JS)。它遵循最小权限原则,仅在必要时调用OS API。Tauri架构包括Rust后端、Web前端、Tauri API和包装器。通过`cargo tauri init`可创建新项目,Rust后端处理系统交互,前端负责UI,两者通过Tauri API通信。Tauri支持自定义API、集成前端框架、资源管理、自动更新、系统集成和安全配置。此外,Tauri拥有插件系统和丰富的扩展能力,提供调试和测试工具,并有性能优化建议。
872 4