MongoDB的配置、备份与恢复以及备份脚本加密

MongoDB有哪些数据脱敏技术? 为什么需要知道掩盖技术?因为这是一种匿名化数据的方法,这样就可以使用包含敏感或个人信息的数据进行测试或开发。即使你负责的数据库具有完全的访问控制和安全性,你也可能需要多种数据脱敏技术来支持应用程序。 例如,你可能需要动态脱敏数据以确保应用程序不会暴露不必要的敏感信息。或者,如果您需要对实际生产数据运行测试或开发,而实际生产数据包含个人或敏感信息,则可能需要脱敏真实数据。 如果你需要将生产数据推到一个安全性较低的环境,你也需要进行数据脱敏技术,为了分发报告或者分析相应的数据,并且必须保留报告所需要的基础. 阅读详情

shc脚本加密

shell脚本是可读写的,很有可能会泄露敏感信息,如用户名,密码,路径,IP等.Shc可以用来对shell脚本进行加密,可以将shell脚本转换为一个可执行的二进制文件。经过shc对shell脚本进行加密后,会同时生成两种个新的文件,一个是加密后的可执行的二进制文件(文件名以.x结束),另一个是C语言的原文件(文件名以.x.c结束;

  • ubuntu 安装
sudo apt-get install shc
  • 使用方法(注意:要有-r选项, -f 后跟要加密的脚本名.):
  • 相同在操作系统,shc后的可执行二进制文件直接可以移植运行,但不同操作系统可能会出现问题
  • 运行后会生成两个文件,script-name.x 和 script-name.x.c
    script-name.x是加密后的可执行的二进制文件.
    ./script-name.x 即可运行.
    script-name.x.c是生成script-name.x的原文件(c语言)
shc -r -f script-name 

说明

在使用MongoDB的过程中遇到了许多的问题,稍微操作不慎就会导致数据库异常,首先我们应该做好数据的定时备份以防万一

  • 开启mongo db后台服务
  • 关闭mongo db服务
  • 备份恢复
  • 无法连接

开启mongo db后台服务

  • 使用–fork参数启动,这样就是后台启动

     mongod --fork --logpath <log_file_path> --dbpath <db_folder_path>
    --fork 将mongod作为后台服务启动,并必须要跟随 --logpath 指定日志文件路径,如果该日志文件不存在会被自动创建
    --dbpath 数据的存储目录
  • 建议先设置好配置文件/etc/mongod.conf后,每次手动用命令启动,在里面修改好自己想要的data和log文件的存放路径

    mongod –f /etc/mongod.conf //后台启动可以加上 --fork
  • 或者加入开机自启动,加入开机自启动脚本里面

    /etc/init.d //在这里面添加启动脚本后修改文件的权限
  • 关于/etc/mongod.conf中常用的选项介绍:

    --dbpath: 指定数据目录,必选,不配置会启动报错;
    
    --port: 指定服务监听的端口,默认为27017
    
    --logpath:指定日志路径;
    
    --logappend:指定日志是追加模式,或者每次重启MongoDB后清理日志;默认是追加模式;
    
    --fork:用此选项创建子进程,在后台运行MongoDB;此选项必先开启logpath选项;
    
    --bind_ip: 指定监听的接口;默认是127.0.0.1;
    
    --httpinterface: 设定是否在1000的端口启动一个微型的HTTP服务器;默认不开启;
    
    --nounixsocket: 设置是否使用UNIX socket;
    
    --noscripting: 设置是否完全禁止服务器端JavaScript脚本的运行;
  • mongod.conf配置说明

    
    //日志文件位置
    logpath=/data/db/journal/mongodb.log  (这些都是可以自定义修改的)
    
    // 以追加方式写入日志
    logappend=true
    
    //是否以守护进程方式运行
    fork = true
    
     //默认27017
    port = 27017
    
     //数据库文件位置
    dbpath=/data/db
    
     //启用定期记录CPU利用率和 I/O 等待
    cpu = true
    
     //是否以安全认证方式运行,默认是不认证的非安全方式
    noauth = true
    auth = true
    
     //详细记录输出
    verbose = true
    
     //用于开发驱动程序时验证客户端请求
     Inspect all client data for validity on receipt (useful for
     developing drivers)
    objcheck = true
    
     Enable db quota management
    // 启用数据库配额管理
    quota = true
    // 设置oplog记录等级
     Set oplogging level where n is
       0=off (default)
       1=W
       2=R
       3=both
       7=W+some reads
    diaglog=0
    
     Diagnostic/debugging option 动态调试项
    nocursors = true
    
    // Ignore query hints 忽略查询提示
    nohints = true
    // 禁用http界面,默认为localhost:28017
    nohttpinterface = true
    
    // 关闭服务器端脚本,这将极大的限制功能
     Turns off server-side scripting.  This will result in greatly limited
     functionality
    noscripting = true
    // 关闭扫描表,任何查询将会是扫描失败
     Turns off table scans.  Any query that would do a table scan fails.
    notablescan = true
    // 关闭数据文件预分配
     Disable data file preallocation.
    noprealloc = true
    // 为新数据库指定.ns文件的大小,单位:MB
     Specify .ns file size for new databases.
     nssize =
    
    // Replication Options 复制选项
     in replicated mongo databases, specify the replica set name here
    replSet=setname
     maximum size in megabytes for replication operation log
    oplogSize=1024
     path to a key file storing authentication info for connections
     between replica set members
    //指定存储身份验证信息的密钥文件的路径
    keyFile=/path/to/keyfile

关闭mongo db后台服务

使用shutdownServer(),一台机器上可能运行多个实例,避免关闭出错

# mongo // 从linux命令行进入mongod命令行
> use admin // 切换到管理员模式
> db.shutdownServer() // 关闭mongodb服务
> server should be down...//关闭
  • 关闭后用 ps aux | grep mongo 查看是否由此进程,也可用kill杀死mongo进程
kill <mongod process ID>
kill -2 <mongod process ID>
kill -9命令迫使进程在运行时突然终止,进程在结束后不能自我清理。可能导致系统资源无法正常释放,一般不推荐使用,除非其他办法都无效。

备份恢复

如果是带验证的数据库指定要验证的数据库把密码的选项房子最后
mongodump -h IP地址 –port 端口 -u 用户名 –authenticationDatabase “验证的数据库一般是admin” -d 数据库 -o 文件存在路径 -p 密码

  • 备份
//MongoDB备份
mongodump -h IP --port 端口 -u 用户名  -d 数据库 -o 文件存在路径 -p 密码

//mongorestore还原数据库
mongorestore -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 --drop 文件存在路径
  • 参数说明
//一次性备份所有:
mongodump,mongorestore

mongodump:
命令格式:mongodump -h dbhost  -d dbname -o dbdirectory

-h:  mongodb所在服务器地址,例如127.0.0.1,也可以指定端口:127.0.0.1:8080 

-d:  需要备份的数据库名称,例如:test_data

-o:  备份的数据存放的位置,例如:/home/bak

-u:  用户名称,使用权限验证的mongodb服务,需要指明导出账号

-p:用户密码,使用权限验证的mongodb服务,需要指明导出账号密码

mongorestore:
命令格式:mongorestore -h dbhost -d dbname -dorectoryperdb dbdireactory

-h:  mongodb所在服务器地址

-d:  需要恢复备份的数据库名称,例如:test_data,可以跟原来备份的数据库名称不一样

-directoryperdb: 备份数据所在位置,例如:/home/bak/test

-drop: 加上这个参数的时候,会在恢复数据之前删除当前数据;
  • 拷贝
直接拷贝,注意不要拷贝diagnostic.data文件夹的内容,有风险测试没通过不要用copy的方式
  • 导出json格式数据
//导出数据
sudo mongoexport --db 数据库名称 -c 表名 --out newdbexport.json

无法连接

  • 执行mongod看报什么错误一般是不能find,data/db
//注意文件的建立路径,然后--dbpath指定mongod.conf文件中path写到/data就好
sudo mkdir -p data/db
  • cd /tmp 删除/tmp$ 下mongodb-27017.sock,如果有的话
mongodb-27017.sock
Ubuntu 20.04 下 MongoDB 备份恢复与迁移实战指南 MongoDB 备份恢复不是简单的文件复制,而是涉及存储引擎一致性、oplog 时间点控制和系统级协调的工程实践。其核心原理在于保障 WiredTiger 引擎的 journal 日志、内存状态与磁盘数据三者原子性对齐;技术价值体现在实现秒级 RPO/RTO、支撑跨版本迁移与副本集演进;典型应用场景包括 Ubuntu 20.04 生产环境的日常备份、灾备恢复及向 Kubernetes 或新 OS 的平滑迁移。本文聚焦 oplog 连续性保障与 systemd 服务协同机制,详解 mongodump/mong 阅读详情

相关推荐

MongoDB自动备份脚本

MongoDB自动备份脚本,自动删除几天前的备份,带全部注释

MongoDB 从4.4到7.0各个版本特性概览

速览本文将从以下方面介绍数据库 MongoDB 4.4、5.0、6.0、7.0版本:MongoDB4.4 新特性隐藏索引(Hidden Indexes)重定义分片键(Refinable Shard Keys)复合哈希分片键(Compound Hashed Shard Keys)对冲读(Hedged Reads)同步建索引(Simultaneous Indexing)复制读请求(Mirrored R...

qq_34692500的博客 5242

shell实现自动备份mongodb

实现mongodb自定义备份,可实现自定义库、自定义集合、自定义备份周期,使用方便,脚本易维护!

mongodb数据库备份脚本

【代码】mongodb数据库备份脚本。

weixin_56319285的博客 291

聚类模型-层次聚类

聚类模型 1、层次聚类 2、原型聚类-K-means 3、模型聚类-GMM 4、EM算法-LDA主题模型 5、密度聚类-DBSCAN 6、图聚类-谱聚类 一、层次聚类 一、聚类理论 ​ 一般来说,聚类是在训练样本的标签信息不知的情况下,学习样本内在的性质和规律,将有限的集合划分成ccc类。根据“方以类聚,物以群分”的思想,类内对象尽可能的相似,...

myazi 6504

DOTween回调函数的隐藏技巧:优化你的Unity动画流程

本文深入探讨了DOTween回调函数在Unity动画开发中的高级应用技巧,帮助开发者优化动画流程。通过分析回调机制、链式应用模式和大规模动画系统管理,提升性能与可维护性,特别适合需要高效处理复杂动画场景的Unity开发者。

weixin_27945229的博客 319

MongoDB备份

参考链接:https://www.mongodb.com/zh-cn/docs/database-tools/mongorestore/#std-program-mongorestore。参考链接:https://www.mongodb.com/zh-cn/docs/database-tools/mongodump/mongodump-examples/5、mongodump 更适合全库备份,mongoexport更适合单个集合备份。1、mongoimport 速度较快,但不保证数据完整导入。

oKongSi的博客 1159

sentinel滑动时间窗口算法学习

滑动时间窗口 先不说sentinel的算法实现,先说什么是滑动时间窗口, 我们在进行限流的时候,比如通过QPS进行限流,那假如我们以秒为单位,举个例子: 我设置了限流规则,qps是10 如果不使用滑动窗口算法,在统计qps的时候,就有可能会有问题,比如: 在0 - 500ms中的请求数是0,但是在500ms - 1000 ms的请求数是10;在1000ms - 1500ms 之间又进来了5个请求,此时只判断了1000ms - 2000 ms之间的请求数 因为没有把1S进行拆分多个窗口,所以在1000ms之后

小小少年的博客 3980

mongodb 重启_MongoDB——Ubuntu安装及配置带认证的副本集(亲测)

一、概述介绍: 在做 MongoDB 数据备份时,需要进行数据的复制冗余,此时可以用副本集,并且为了传输安全,需要加上认证。我的 MongoDB 版本是 4.0.18,都是本人亲自打过的命令,被网上的卡了很久。二、安装 MongoDB导入公钥sudoapt-keyadv--keyserverhkp://keyserver.ubuntu.com:80--recv9DA31620...

weixin_39612057的博客 417

2024年上半年网络工程师下午真题及答案解析

位于MPLS域边缘、连接其他网络的LSR称为( 3 ),区域内部的LSR称为核心LSR(CoreLSR)IP报文进入MPLS网络时,MPLS入口设备分析IP报文的内容并为其添加合适的标签,所有MPLS网络中的LSR根据标签转发数据,当该IP报文离开MPLS网络时,标签由出口LER弹出。LSP的出口LER称为( 6 )。某高校网络拓扑如下图所示,两校区核心(CORE-1、CORE-2),出口防火墙(NGFW-1、NGFW-2)通过校区间光缆互联,配置OSPF实现全校路由收敛,两校区相距40km。

bsefef的博客 2475

24、水下传感器网络中混合LEACH协议与遗传算法获取路由节点

本文提出了一种结合遗传算法与LEACH协议的混合路由方案,用于提升水下无线传感器网络(UWSN)的能量利用效率和数据传输稳定性。通过遗传算法优化簇头选择与路径规划,有效避免节点过早死亡,减少能量消耗,在200个节点场景下显著提升网络寿命。相比传统LEACH协议,该方案具有更高的能量利用率、更强的环境适应性,并支持传输历史记录与并行传输序列。实验结果显示,该方案在总能量为2000焦耳时剩余能量达75.6%,远优于LEACH的34.8%能耗表现。适用于海洋监测、石油平台监控及水下灾害预警等复杂环境应用。

i8j9k0l1的博客 112

Astroluma数据备份与恢复:确保您的配置永不丢失

Astroluma是一款功能强大的自托管家庭实验室仪表板,它帮助您集中管理日常任务和服务。作为您的个人生产力中心,**Astroluma数据备份**和**配置恢复**功能至关重要,能确保您的个性化设置、应用集成和任务管理数据永不丢失。本文将为您提供完整的Astroluma备份与恢复指南,涵盖从基础设置到高级策略的所有内容。 ## 为什么Astroluma数据备份如此重要?🚨 Astrolum

gitblog_01118的博客 480

【无人机基站】基于K-mean算法实现无人机基站部署附matlab代码

【无人机基站】基于K-mean算法实现无人机基站部署附matlab代码

天天酷科研的博客 243

Notesnook Sync Server备份与恢复:确保笔记数据安全的完整策略

在当今数字时代,**笔记数据安全**是每个用户最关心的问题。Notesnook Sync Server作为一款开源的笔记同步服务器,提供了完整的自托管解决方案,让您完全掌控自己的数据。本文将详细介绍如何为您的Notesnook Sync Server实施全面的**备份与恢复策略**,确保笔记数据永不丢失。 ## 📊 为什么需要备份策略? Notesnook Sync Server采用分布式架

gitblog_00922的博客 1004

RT-DETR算法优化改进:DCNv4更快收敛、更高速度、更高性能,效果秒杀DCNv3、DCNv2等 ,助力检测

DCNv4更快收敛、更高速度、更高性能,完美和RT-DETR结合,助力涨点

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 1323

Pytorch实现之SRGAN+CBAM的结构设计

在SRGAN的残差连接中加入了CBAM注意力机制,同时设计了四类损失来训练。

LJ1147517021的博客 571

Pckd备份与恢复:数据安全的最佳实践指南

在当今数字时代,数据安全对于任何在线服务都至关重要。Pckd作为一款强大的自托管URL短链接服务,您的短链接数据、用户信息和点击分析都是宝贵的数字资产。本文将为您详细介绍Pckd备份与恢复的完整指南,确保您的数据安全无忧。🚀 ## 📊 为什么Pckd备份如此重要? Pckd不仅是一个简单的链接缩短工具,更是一个完整的数据分析平台。它存储着: - **短链接映射关系** - 每个短链接对应

gitblog_01012的博客 1055

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

OBS Studio 硬件编码器不识别:NVENC、QSV 消失的完整排查指南

OBS Studio 是免费开源的直播与录屏软件。你刚装完显卡驱动,兴冲冲打开 OBS Studio 准备开播,结果「设置 → 输出」里编码器下拉框只剩 x264——NVENC、QSV 一个都找不到。别慌,OBS Studio 硬件编码器不识别这类故障九成卡在驱动和系统层,插件本身往往没坏。这篇指南带你从硬件到软件一层层剥开,一次定位。 ## 三个判断题:先搞清楚问题卡在哪一层 别急着乱点菜单

gitblog_00890的博客 931

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Windows系统下MongoDB数据库自动备份全攻略:安全、高效、自动化

本文介绍在Windows系统下实现MongoDB自动备份的完整方案。首先分析手动备份的不足,提出自动化备份的必要性。详细说明环境准备要求,对比不同备份工具的特点,推荐使用官方mongodump工具。提供基础备份脚本编写方法,包括单数据库和全库备份脚本示例。重点讲解Windows任务计划程序的配置步骤,包括图形界面和PowerShell高级配置方法。最后介绍增量备份、加密压缩等高级策略。该方案可实现MongoDB数据库的定时自动备份,保障数据安全。

cx1050306424的博客 1652

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

MongoDB数据备份恢复实战:从mongodump到mongorestore的保姆级避坑指南

本文详细介绍了MongoDB数据备份与恢复的实战技巧,重点解析了mongodump和mongorestore工具的使用方法及常见陷阱。内容涵盖备份策略设计、权限配置、性能优化、特殊集合处理以及生产环境验证方案,帮助开发者构建可靠的MongoDB数据备份恢复体系,确保数据安全与业务连续性。

weixin_33739523的博客 265

超简单!ET框架MongoDB数据库备份一键搞定:Shell/PowerShell实现指南

ET框架作为Unity3D客户端和C#服务器框架,广泛使用MongoDB作为数据库解决方案。本文将为你介绍如何通过Shell/PowerShell脚本实现ET框架数据库的一键备份,让数据安全防护变得简单高效。 ## 📋 为什么需要数据库备份? 在游戏开发和运营过程中,数据库备份是保障数据安全的关键环节。ET框架使用MongoDB作为核心数据库,其数据包含玩家信息、游戏状态等重要内容。定期备份

gitblog_00796的博客 634

Cowrie蜜罐备份与恢复策略:确保监控数据安全可靠

Cowrie作为一款强大的SSH/Telnet蜜罐工具,其收集的攻击数据对于安全分析至关重要。本文将详细介绍Cowrie蜜罐的备份与恢复策略,帮助用户确保监控数据的安全可靠,有效应对数据丢失风险。 ## 一、Cowrie核心数据识别 Cowrie运行过程中会产生多种关键数据,这些数据是备份的核心对象: ### 1.1 日志数据 Cowrie的日志文件记录了所有攻击活动,包括登录尝试、命令执行

gitblog_00278的博客 389

数据安全防线:LightRAG知识图谱备份与灾难恢复全指南

在企业级RAG应用中,数据安全与业务连续性至关重要。本文将系统介绍LightRAG知识图谱的完整备份恢复方案,从数据导出、定时备份到灾难恢复,帮助运维人员构建可靠的数据安全防线。通过实用工具与最佳实践,确保您的知识库在面对意外时能够快速恢复,业务运转不受影响。 ## 数据备份基础:知识图谱导出功能解析 LightRAG提供了灵活的数据导出接口,支持将知识图谱以多种格式备份,满足不同场景下的存档

gitblog_00920的博客 861

Windows下MongoDB自动化备份方案与实战

数据库备份是保障数据安全的核心环节,尤其对于MongoDB这类文档型数据库。不同于传统关系型数据库的备份方式,MongoDB需要结合其存储引擎特性设计备份策略。通过mongodump工具可以实现逻辑备份,而文件系统快照则适合TB级大库的热备份。自动化备份方案能显著提升数据可靠性,典型实现包含定时触发、压缩存储、完整性验证等关键步骤。在Windows环境下,可结合任务计划程序和PowerShell脚本构建完整流水线。对于电商、金融等关键业务场景,建议采用混合备份策略并集成云存储同步,同时需特别注意备份加密和权

weixin_26934905的博客 129

基于 Docker 的 MongoDB 部署与使用指南

本文介绍MongoDB的定义与适用场景,详述Docker环境下的准备工作、单节点快速部署、Docker Compose配置、初始化脚本编写、数据持久化方案、备份恢复方法,还提供副本集搭建示例、生产环境要点及常见问题排查,附官方与权威参考资源。

java_logo的专栏 1138

MongoDB - MongoDB备份与恢复:全量备份、增量备份的实现方法

本文介绍MongoDB备份与恢复的实现方法。主要内容包括:全量备份通过mongodump命令行工具实现,提供基本语法和多种备份示例,并给出Java调用mongodump的代码实现;增量备份结合oplog实现变更数据捕获,说明oplog工作原理并提供增量备份流程和Java实现方案。文章还对比了不同备份策略的优缺点,帮助开发者根据业务需求选择合适的数据保护方案。

千淘万漉虽辛苦,吹尽狂沙始到金 2万+
上一篇: Node.js+MongoDB上线测试环境部署
下一篇: 阿里云配置 node.js + Nginx 反向代理
composurext
博客等级 码龄10年 15粉丝 51原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值