《Linux运维实战:MongoDB数据库全量逻辑备份恢复(方案二)》
创始人
2024-03-29 23:28:20
0

一、备份与恢复方案

Mongodb中的mongoexport工具可以把一个collection导出成JSON格式或CSV格式的文件。可以通过参数指定导出的数据项,也可以根据指定的条件导出数据,只支持导出集合(collection),不支持导出库。

由于mongodb实例里面的数据类型是BSON的数据类型,而JSON是无法真正表达所有BSON的数据类型,只能表达BSON数据类型的一个子集,准确的说,JSON对某些BSON数据类型使用的是严格模式(strict mode)。例如BSON里面对于时间有Date这种数据类型,而转成JSON格式的时候就是一个字符串类型来代表Date,显然这种表示方式会丢掉一些数据类型。

所以对于线上正式环境,如果数据类型很多,尽量避免使用mongoexport,mongoimport导出导入数据。以免丢掉源库中的某些数据类型。

查阅:Mongodb原生导入导出工具对比


二、备份与恢复参数

2.1、mongoexport参数详解

说明:这里主要介绍mongoexport常用参数。

在这里插入图片描述


2.2、mongoimport参数详解

说明:这里主要介绍mongoimport常用参数。
在这里插入图片描述


三、备份与恢复操作

3.1、环境信息

主机IP操作系统软件版本
192.168.1.191Centos7.6Mongodb3.2.22

3.2、备份操作

说明:当前环境的mongodb服务是采用容器部署的,这里的/data/backup是指容器中的备份目录,备份文件会存放在这个目录下,你也可以将容器中的/data/backup目录映射为当前宿主机上的某一目录。


导出某集合所有数据

[root@localhost ~]# docker exec mongo-single bash -c 'mongoexport --host 127.0.0.1:27017 -u lolaage -p 123456 -d possecu -c PersonLogin --type json -o /data/backup/PersonLogin.json'

说明:

-u:用户
-p:密码
-d:指定恢复的库名
-c: 指定恢复的集合
--type:指定数据类型
-o: 指定备份后的文件

3.2、恢复操作

导入某集合所有数据

[root@localhost ~]# docker exec mongo-single bash -c 'mongoimport --host 127.0.0.1:27017 -u lolaage -p 123456 -d possecu -c PersonLogin --type json --file /data/backup/PersonLogin.json --drop'

说明:

--host:指定ip和端口
-u:用户
-p:密码
-d:指定恢复的库名
-c: 指定恢复的集合
--type:指定数据类型
--file: 指定恢复文件
--drop:恢复数据之前删除原来集合数据,避免数据重复

总结:整理不易,如果对你有帮助,可否点赞关注一下?

更多详细内容请参考:《Linux运维篇:Linux系统运维指南》

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...
有效的括号 一、题目 给定一个只包括 '(',')','{','}'...
【Ctfer训练计划】——(三... 作者名:Demo不是emo  主页面链接:主页传送门 创作初心ÿ...