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

数据库数据恢复—MongoDB丢失_mdb_catalog.wt文件导致报错的数据恢复案例

MongoDB数据库存储模式为文档数据存储库,存储方式是将文档存储在集合之中。
MongoDB数据库是开源数据库,同时提供具有附加功能的商业版本。
MongoDB中的数据是以键值对(key-value pairs)的形式显示的。在模式设计上,数据库受到的约束更少。这对于具有快速增长或其他变化需求的数据来说是非常有利的。
MongoDB提供了预定义的结构,用户可以按需采用其结构。

每个MongoDB数据库都包含了以“顺次存放”的方式填充的文档集合。这些文档本身包含了各种字段和信息类型,因此MongoDB数据库能够存储的内容和数据大小是极其丰富的。
MongoDB数据库的安全特性包括:基于角色的访问控制、身份验证、授权和审核等。当然,如果需要加密,MongoDB数据库也可以实施安全传输层(TLS)和SSL协议。
作为文档数据库,MongoDB不限制用户存储数据的体量和类型,因此适合大数据的应用环境,这对基于云的服务将特别有利。基于水平可扩展能力,以及与云服务的敏捷性结合,MongoDB数据库不但能够减少开发者的工作量,简化业务与项目的扩展流程,还能够提供高可用性和数据的快速恢复。不过,MongoDB数据库在数据的可靠性、一致性、以及安全性等方面不如MySQL。

MongoDB数据库数据恢复案例:
MongoDB数据库故障:
某单位一台MongoDB数据库由于业务需求进行了数据迁移,数据库迁移后提示:“Windows无法启动MongoDB服务(位于 本地计算机 上)错误1067:进程意外终止。”

北亚企安数据恢复工程师通过用户方的描述,以及对数据库环境和底层数据的检查,发现MongoDB数据库在迁移过程中丢失了_mdb_catalog.wt文件,所以导致数据库报错。

MongoDB数据库数据恢复过程:
1、要恢复MongoDB数据,只需要在底层数据中找到丢失的_mdb_catalog.wt文件即可。可是多次扫描底层数据后发现该文件已经被覆盖,
2、由于本案例中的MongoDB数据库是基于WiredTiger存储引擎,于是北亚企安数据恢复工程师调整数据恢复策略,在Windows环境下编译出可执行的wt工具。

3、借助编译出来的wt工具对数据库集合文件内所有数据进行清洗回写,读取数据结果并写入到文件中。
4、创建一个全新的MongoDB数据库,并创建相应数据量的集合。将文件逐一写入集合中,查询数据集并重建索引信息。
5、通过查询集合中的记录,确定记录类型,并重建集合索引。集合恢复完成后,可以正常查看其中数据。

6、协助用户方对全部集合进行索引重建之后由用户方进行验证。用户方对数据库进行查询验证后,确认数据完整无误。

http://www.lryc.cn/news/536320.html

相关文章:

  • mysql8.0使用MGR实现高可用与利用MySQL Router构建读写分离MGR集群
  • 基于Ubuntu2404搭建k8s-1.31集群
  • Golang的图形编程应用案例
  • PostgreSQL 错误代码 23505 : ERROR: duplicate key value violates unique constraint
  • 基于SpringBoot和PostGIS的省域“地理难抵点(最纵深处)”检索及可视化实践
  • MySQL InnoDB引擎 MVCC
  • 服务器使用centos7.9操作系统前需要做的准备工作
  • 【Prometheus】prometheus结合cAdvisor监控docker容器运行状态,并且实现实时告警通知
  • 【Stable Diffusion模型测试】测试ControlNet,没有线稿图?
  • 算法刷题-数组系列-卡码网.区间和
  • Druid GetConnectionTimeoutException解决方案之一
  • 【JavaScript爬虫记录】记录一下使用JavaScript爬取m4s流视频过程(内含ffmpeg合并)
  • CSDN2024年度总结|乾坤未定你我皆是黑马|2025一起为了梦想奋斗加油少年!!!
  • 【前端】 react项目使用bootstrap、useRef和useState之间的区别和应用
  • 联想电脑如何进入BIOS?
  • 蓝桥杯单片机大模板(西风)
  • 20250213刷机飞凌的OK3588-C_Linux5.10.209+Qt5.15.10_用户资料_R1
  • 2.13学习记录
  • 【DeepSeek】Deepseek辅组编程-通过卫星轨道计算终端距离、相对速度和多普勒频移
  • JavaEE架构
  • Docker 网络的几种常见类型
  • C++ 常用的设计模式
  • 【设计模式】01- 一文理解常用设计模式-“创建型模式”篇
  • 在ArcGIS JS API中使用WebGL实现波纹扩散特效
  • 我用AI做数据分析之四种堆叠聚合模型的比较
  • 《LSTM与HMM:序列建模领域的双雄对决》
  • Flutter 的 Widget Key 提议大调整?深入聊一聊 Key 的作用
  • 只需三步!5分钟本地部署deep seek——MAC环境
  • 网络工程师 (31)VLAN
  • 浏览器网络请求全流程深度解析