当前位置: 首页 > news >正文

MongoDB备份与恢复以及导入导出

MongoDB备份与恢复

1、mongodump数据备份

在Mongodb中我们使用mongodump命令来备份MongoDB数据。该命令可以导出所有数据 (数据和数据结构) 或指定数据(集合、部分集合内容)到指定目录中。

语法:
mongodump -h dbhost -d dbname -o dbdirectory
参数
-p,–port:端口
-h,–host:IP地址
-d,–db:数据库
-c,–collection:备份的集合名称
-q,–query:备份数据的条件表达式
-o,–out:备份文件的存放位置
-u,–username:用户名 (可选)
-p,–password:密码 (可选)
–authenticationDataBase:认证数据库(若数据库开启了认证该参数必须传!)

示例

#备份所有数据库 #非认证数据库mongodump --port=27017 -h 127.0.0.1 -o /data/mongodb_backup  #认证数据库mongodump -h 127.0.0.1:27017 -o /data/mongodb_backup  -u root -p 123456 --	authenticationDataBase:admin#--port可以不传,直接写在ip后即可#具体根据实际数据库是否是开启了认证选择,下面都以认证过的为例,没认证只是少传几个参数#备份指定数据库db1 mongodump -d db1 -h 127.0.0.1:27017 -o /data/mongodb_backup  -u root -p 123456 --authenticationDatabase admin
#备份db1数据库中的test集合中的name="张三"的记录mongodump -d db1 -c test -q '{name:{$eq:"张三"}}' -h 127.0.0.1:27017 -o /data/mongodb_backup  -u root -p 123456 --authenticationDatabase admin

2、mongorestore数据恢复

语法:
mongorestore -h dbhost -d dbname --dir dbdirectory
参数
-p,–port
-h,–host
-d,–db 需要恢复的数据库实例,例如:test,当然这个名称也可以和备份时候的不一样,比如test2
-c,–collection
–dir:恢复文件存放的位置,如果指定了数据库文件夹或者集合文件,则只恢复当前数据库或者当前集合,如果没有指定,则恢复当前目录下所有备份数据。
–drop:恢复的时候,先删除当前数据,然后恢复备份的数据。就是说,恢复后,备份后添加修改的数据都会被删除,慎用哦!
-u,–user
-p,–password
–authenticationDatabase

示例

#恢复所有数据库mongorestore -h 127.0.0.1:27017 --dir /data/mongodb_backup
#恢复制定数据库mongorestore -h 127.0.0.1:27017 -d bd1 --dir /data/mongodb_backup

MongoDB数据导入与导出

1、导出工具:mongoexport

概念:
mongoDB中的mongoexport工具可以把一个collection导出成JSON格式或CSV格式的文件。可以通过参数指定导出的数据项,也可以根据指定的条件导出数据。
语法:
mongoexport -d dbname -c collectionname -o file --type json/csv -f field
参数说明:
-d :数据库名
-c :collection名
-o :输出的文件名
–type : 输出的格式,默认为json
-f :输出的字段,如果-type为csv,则需要加上-f “字段名”

示例:

#备份db1库下的test集合 (备份文件的名字可以自定义,默认导出了JSON格式的数据)mongoexport -h 127.0.0.1:27017 -u root -p 123456 --authenticationDatabase admin -d db1 -c test -o /home/mongod/backup/test.dat#导出CSV格式的数据mongoexport -h 127.0.0.1:27017 -u root -p 123456 --authenticationDatabase admin -d db1 -c test --type=csv -f "id,name" -o /home/mongod/backup/test_csv.dat

2、数据导入:mongoimport

语法:
mongoimport -d dbname -c collectionname --file filename --headerline --type json/csv -f field
参数说明:
-d :数据库名
-c :collection名
-type :导入的格式默认json
-f :导入的字段名
–drop 插入之前先删除原有的
–headerline :如果导入的格式是csv,则可以使用第一行的标题作为导入的字段
–file :要导入的文件

示例:

#将之前恢复的数据导入
mongoimport -h 127.0.0.1:27017 -u root -p 123456 --authenticationDatabase admin -d db1 -c test --file /home/mongod/backup/test.dat#将之前恢复的CSV格式数据导入
mongoimport -h 127.0.0.1:27017 -u root -p 123456 --authenticationDatabase admin -d db1 -c test --type=csv --headerline --file /home/mongod/backup/test_csv.dat

相关文章:

  • C#中数组、ArrayList与List对象的区别及使用场景
  • Windows系统中搭建docker (ubuntu,Docker-desktop)
  • JUNIT使用和注意、以及断言的介绍使用、SpringBoot Test测试类的使用、maven配置使用junit详细介绍
  • pipeline + node +jenkins+kubernetes部署yarn前端项目
  • V10 桌面版、服务器版系统加固
  • WhatsApp账号被封?看看是不是你的原因!
  • 释放生成式AI的巨大潜力,德勤中国与亚马逊云科技共建生成式AI联合实验室
  • Windows 安装 汉化版 burp suite
  • CC攻击的前身
  • 2023.11.17-hive调优的常见方式
  • Docker在Centos7下的安装
  • 【Spring篇】Bean实例化的四种方式及应用案例
  • 云计算和跨境电商:数字化未来的基石
  • qt笔记之qml和C++的交互系列(一):初记
  • 优化收益与用户体验:游戏APP需接入的广告类型
  • [iOS]Core Data浅析一 -- 启用Core Data
  • Android框架之Volley
  • chrome扩展demo1-小时钟
  • iOS仿今日头条、壁纸应用、筛选分类、三方微博、颜色填充等源码
  • Linux编程学习笔记 | Linux IO学习[1] - 文件IO
  • Making An Indicator With Pure CSS
  • Netty源码解析1-Buffer
  • 蓝海存储开关机注意事项总结
  • 马上搞懂 GeoJSON
  • 推荐一个React的管理后台框架
  • 我从编程教室毕业
  • 项目实战-Api的解决方案
  • 验证码识别技术——15分钟带你突破各种复杂不定长验证码
  • JavaScript 新语法详解:Class 的私有属性与私有方法 ...
  • 如何通过报表单元格右键控制报表跳转到不同链接地址 ...
  • ​【已解决】npm install​卡主不动的情况
  • !$boo在php中什么意思,php前戏
  • # 飞书APP集成平台-数字化落地
  • (1)虚拟机的安装与使用,linux系统安装
  • (8)STL算法之替换
  • (c语言版)滑动窗口 给定一个字符串,只包含字母和数字,按要求找出字符串中的最长(连续)子串的长度
  • (多级缓存)多级缓存
  • (附源码)springboot高校宿舍交电费系统 毕业设计031552
  • (六)什么是Vite——热更新时vite、webpack做了什么
  • (图)IntelliTrace Tools 跟踪云端程序
  • (已解决)什么是vue导航守卫
  • .bat批处理(十):从路径字符串中截取盘符、文件名、后缀名等信息
  • .Net程序帮助文档制作
  • .net连接oracle数据库
  • .net知识和学习方法系列(二十一)CLR-枚举
  • .w文件怎么转成html文件,使用pandoc进行Word与Markdown文件转化
  • @selector(..)警告提示
  • @拔赤:Web前端开发十日谈
  • [ 云计算 | AWS 实践 ] Java 如何重命名 Amazon S3 中的文件和文件夹
  • [ai笔记3] ai春晚观后感-谈谈ai与艺术
  • [C puzzle book] types
  • [C++]AVL树怎么转
  • [Cocoa]iOS 开发者账户,联机调试,发布应用事宜
  • [CSAWQual 2019]Web_Unagi ---不会编程的崽
  • [js高手之路] dom常用API【appendChild,insertBefore,removeChild,replaceChild,cloneNode】详解与应用...