当前位置: 首页 > 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
http://www.lryc.cn/news/230828.html

相关文章:

  • 如何挑选猫主食罐头?宠物店自用的5款猫主食罐头推荐!
  • 立哥先进研发-API安全方案
  • 小函数:Lambda表达式(Java篇)
  • RSS订阅快速连接Notion
  • VMware ubuntu 新虚拟机的创建
  • 第一篇 《随机点名答题系统》简介及设计流程图(类抽奖系统、在线答题系统、线上答题系统、在线点名系统、线上点名系统、在线考试系统、线上考试系统)
  • C# .NET6 Log4net输出日志
  • python数据结构与算法-03_链表
  • Springboot-aop的使用
  • 数列计算
  • 阿里云全球故障凸显“云集中”风险
  • 【2015年数据结构真题】
  • vxe表格行拖拽
  • Linux之基本指令操作
  • 海康设备、LiveNVR等通过GB35114国密协议对接到LiveGBS GB28181/GB35114平台的详细操作说明
  • BUUCTF 面具下的flag 1
  • ArcGIS实现矢量区域内所有要素的统计计算
  • 3.4-初识Container
  • 壹基金爱泽瑞金 安全家园物料配送忙
  • arcgis--二维建筑面的三维显示设置
  • Maven 插件统一修改聚合工程项目版本号
  • 主从复制和读写分离
  • Redis模块的高级使用方式
  • Failed to restart network.service: Unit network.service not found.
  • wiki.js一个开源知识库系统
  • 关于Java抽象类和接口的总结和一点个人的看法
  • vue中ref的用法
  • 【华为OD题库-012】模拟消息队列-Java
  • Android修行手册 - 阴影效果的几种实现以及一些特别注意点
  • 【星海出品】SDN neutron (五) openvswitch