首页 > 数据库 >MongoDB 数据导入和导出、备份和恢复

MongoDB 数据导入和导出、备份和恢复

时间:2022-10-10 21:46:42浏览次数:80  
标签:shop csv -- MongoDB 备份 导出 导入 sdo

注:mongoexport和mongoimport针对库中的表,用于数据导入和导出,mongodump和mongorestore针对于库,用于备份和恢复。

一、mongodb导出

1、导出/导入数据时,连接mongodb服务器参数介绍:

-h host   主机
--port port    端口
-u username 用户名
-p passwd   密码

注:

如果没有用户,可以去掉-u和-p。
如果导出本机的数据库,可以去掉-h。
如果是默认端口,可以去掉--port。

2、mongoexport 导出文件参数介绍:

-d  库名(如果想导出所有数据库,可以去掉-d)
-c  表名
-f  field1,field2...列名
-q  查询条件
-o  导出的文件名
-- csv  导出csv格式(便于和传统数据库mysql交换数据)

二、导出数据实例

1、导出shop数据库的sdo表格的xh和name列中xh号小于或等于100的数据,并且导出到当前路径下,保存的文件名称为test.sdo.json

./mongoexport  -d shop -c sdo -f xh,name -q '{xh:{$lte:100}}' -o ./test.sdo.json

2、导出csv格式,方便在mysql数据中导入。

 ./mongoexport  -d shop -c sdo -f _id,xh,name -q '{xh:{$lte:100}}' --csv -o ./test.sdo.csv

注:以上的mongoexport导出,仅仅是导出数据,相关的索引信息没有被导出

三、mongodb导入

导入数据参数:

-d 待导入的数据库
-c 待导入的表(不存在会自己创建)
--type  json(默认)或csv
--file 待导入的文件

四、导入数据实例

1、将当前路径下test.sdo.json文件数据导入到shop数据库的teach表中,格式为json

./mongoimport -d shop -c teach --type json --file ./test.sdo.json

2、将csv文件导入到shop数据库的reache表中,并且格式转换为json格式。–headerline表示忽略csv数据的表头字段。

./mongoimport -d shop -c reache --type csv --headerline --file  ./test.sdo.csv

比如_id,xh,name。导入CSV数据,表头字段需要忽略。

[root@linux bin]#  more test.sdo.csv
  _id,xh,name
  ObjectId(6331962397200000fa004f26),1,test1
  ObjectId(633250c2b8660000e8002103),2,test2
 ...(其他省略)

五、mongodb导出二进制bson结构数据及索引信息

二进制备份,不仅可以备份数据,还可以备份索引,备份数据比较小,速度快.

导出需要的参数:

-d  库名
-c  表名
-f  field1,field2...列名

六、导出bson数据结构实例(备份)

1、语法:mongodump -d test [-c 表名] 默认是导出到mongo下的dump目录

2、将shop数据库的sdo表数据导出到默认的路径。

./mongodump -d shop -c sdo

3、查看导出的数据,默认放在dump目录

[root@linux bin]#  ls
 dump ......(其他省略)

4、查看dump目录,导出的表格生成了两个文件分别为:bson结构数据和json索引数据

[root@linux bin]#  cd dump/
[root@linux dump]#  ls
 shop
[root@linux dump]#  cd shop/
[root@linux shop]#  ls
 sdo.bson sdo.metadata.json
[root@linux shop]# 

5、 如果不声明表名, 导出所有的表

./mongodump -d shop

七、导入bson结构数据(恢复)

./mongorestore -d testd ./dump/shop

-d :将数据导入或恢复数据的数据库名称,可以自己随意命名。
./dump/shop:备份的数据库路径

注:有时需要加上--drop参数,意思是,先删除原有数据库,然后恢复(--drop慎用)

八、参考链接:

https://www.cnblogs.com/qingtianyu2015/p/5968400.html
https://segmentfault.com/a/1190000004263279
https://www.py.cn/db/mongodb/14116.html
https://www.cnblogs.com/gaopeng527/p/4508361.html

标签:shop,csv,--,MongoDB,备份,导出,导入,sdo
From: https://www.cnblogs.com/jianmuzi/p/16777485.html

相关文章

  • expdp备份集直接导出到asm磁盘组
    文档课题:expdp备份集直接导出到asm磁盘组.系统:rhel8.464位数据库:oracle19.1264位+asm+单实例+多租户操作过程:ASMCMD>pwd+data/orclcdbASMCMD>mkdirrmanbakASMC......
  • db2 开启归档日志在线备份
    一、概述db2数据库默认不开启归档日志在线online备份的时候,就会报错db2backupdbsampleonlineto/home/db2inst1/"SQL2413NOnlinebackupisnotallowedbecausethe......
  • db2 backup/restore 备份和恢复补充
    一、概述db2backup/restore备份与恢复只适用于相同操作系统平台的数据库;只适用于恢复原库,或者在新机器db2实例里面恢复,不适用于搭建一个新的数据库命令格式:db2backupdb......
  • 备份 MySQL 的 shell 脚本(mysqldump版本) shell脚本
    #!/bin/bash#备份MySQL的shell脚本(mysqldump版本)#定义变量user(数据库用户名),passwd(数据库密码),date(备份的时间标签)#dbname(需要备份的数据库名称,......
  • 从rap2数据导入yapi中
    复制教程: https://www.jianshu.com/p/4bd2ec5cb5e7主要 Rap2导出swagger2格式json:原理采用曲线救国的方式,rap2=》 swagger.json=>导入yapi。输入rap2某个项目......
  • mysql 5.1.73 binlog测试以及全量备份恢复测试
       甲方提出业务服务器的mysql日志要本地备份或者上传日志服务器,以及要具备回滚、恢复功能。问了度娘后,同甲方商量、建议,保存binlog日志30天且每月全量备份一次。 ......
  • mongodb 数据导出
    MongoDB数据导出windows环境下的mongodb数据导出命令行参数方式启动服务,在bin目录中打开命令行提示符,输入如下命令:mongod--dbpath=..\data\db我们在启动信息中......
  • 如何优雅的备份MySQL数据?看这篇文章就够了
    大家好,我是一灯,今天一块学习一下如何优雅安全的备份MySQL数据?1.为什么要备份数据先说一下为什么需要备份MySQL数据?一句话总结就是:为了保证数据的安全性。如果我们把数......
  • 传输数据库/导入导出数据库
    您可以使用完整的可传输 export/import功能将整个数据库从一个Oracle数据库实例复制到另一个实例。为Oracle数据库迁移数据的导出/导入优势使用导出/导入升级Orac......
  • @linux文件的备份与恢复(lvm)
    1、什么是lvm你如何保证你的硬盘空间恰好够用?如果你的硬盘你够用了怎么扩容?LVM是文件系统管理工具/root/oldboy--->lv[5G]/root/oldboy--->lv[3G]2、LVM的优点1、可以......