首页 > 其他分享 >mongo意外关机后恢复独立设备

mongo意外关机后恢复独立设备

时间:2024-07-09 12:40:57浏览次数:6  
标签:关机 mongod mongo repair -- lock 文件 意外 数据文件

磁盘级数据损坏或数据文件丢失可能会阻止 mongod实例启动,并且日志文件可能不足以自动恢复:

2018-10-24T18:05:18.248-04:00 W STORAGE  [initandlisten] Detected unclean shutdown - mongod.lock is not empty.
...
2018-10-24T17:24:53.122-04:00 E STORAGE  [initandlisten] Failed to get the cursor for uri: table:collection-2-6854866147293273505
2018-10-24T17:24:53.122-04:00 E STORAGE  [initandlisten] This may be due to missing data files. ...
...
***aborting after fassert() failure

在这种情况下,您的dbPath目录包含一个非空 mongod.lock文件。

仅在别无选择时使用mongod --repair。此操作将删除修复过程中的任何损坏数据,但不会保存这些数据。

mongod --repair对于 WiredTiger 存储引擎:

  • 为具有一个或多个不一致索引的集合重建所有索引。

  • 丢弃损坏的数据。

  • 为丢失的数据/元数据文件创建空/存根文件。

创建数据文件的备份副本--dbpath  要修复数据文件,请使用该mongod  --repair选项启动实例。

为您的独立设备发出类似以下命令:

mongod --dbpath /data/db --repair

完成后,dbpath应该包含修复的数据文件和一个空的mongod.lock文件。

如果修复因任何原因未能完成,您必须重新启动实例并选择--repair完成修复。

[ 1 ] 通常,您不应手动删除该mongod.lock文件。相反,请使用上述过程恢复数据库。在紧急情况下,您可以删除该文件,使用可能已损坏的文件启动数据库,然后尝试从数据库中恢复数据。但是,在这些情况下无法预测数据库的状态。

 

 

 

 

 

 

标签:关机,mongod,mongo,repair,--,lock,文件,意外,数据文件
From: https://www.cnblogs.com/wonchaofan/p/18291559

相关文章

  • SpringBoot集成Mongodb文档数据库
    添加Maven依赖<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-mongodb</artifactId></dependency>配置Mongodb连接信息spring:data:mongodb:host:10.30.29.246......
  • 【后端面试题】【中间件】【NoSQL】MongoDB查询优化3(拆分、嵌入文档,操作系统)
    拆分大文档很常见的一种优化手段,在一些特定的业务场景中,会有一些很大的文档,这些文档有很多字段,而且有一些特定的字段还特别的大。可以考虑拆分这些文档大文档对MongoDB的性能影响还是很大的,就我个人经验而言,认为可以考虑从两个角度出发拆分大文档:按照字段的访问频率拆分:......
  • 【后端面试题】【中间件】【NoSQL】MongoDB提高可用性的方案(主从结构、仲裁节点、分片
    主从结构MongoDB的高可用和别的中间件的高可用方案基本类似。比如在MySQL里,接触了分库分表和主从同步;在Redis里,Redis也有主从结构;在Kafka里,分区也是有主从结构的。所以先介绍启用了主从同步我们的系统有一个关键组件-MongoDB,但是在最开始的时候,MongoDB没有启用主从,是......
  • Windows 电源管理中的 "快速启动(推荐)" 是一种功能选项,它允许电脑在关机后以一种较快的
    Windows电源管理中的"快速启动(推荐)"是一种功能选项,它允许电脑在关机后以一种较快的方式启动。这个功能通过将系统的部分内容保存到硬盘上的一个文件中,而不是完全关闭电脑,从而实现更快的启动速度。具体来说,当你选择启用快速启动时,Windows会将当前的系统状态保存到一个名为hibe......
  • Linux系统部署MongoDB开源文档型数据库并实现无公网IP远程访问
    个人名片......
  • 安装mongo
    安装MongoDB社区版sudoyuminstalllibcurlopensslxz-libs从下载的档案中提取文件。例如,从系统shell,您可以使用以下tar命令提取:tar-zxvfmongodb-linux-*-7.0.12.tgz确保二进制文件位于环境变量中列出的目录中PATH。MongoDB二进制文件位于bin/tarball目录中。......
  • Mongodb性能优化方法
    学习mongodb,体会mongodb的每一个使用细节,欢迎阅读威赞的文章。这是威赞发布的第82篇mongodb技术文章,欢迎浏览本专栏威赞发布的其他文章。如果您认为我的文章对您有帮助或者解决您的问题,欢迎在文章下面点个赞,或者关注威赞。谢谢。Mongodb与其他数据库类似,当面临大量数据查询时,......
  • 影响Mongodb数据写入性能的因素
    学习mongodb,体会mongodb的每一个使用细节,欢迎阅读威赞的文章。这是威赞发布的第83篇mongodb技术文章,欢迎浏览本专栏威赞发布的其他文章。如果您认为我的文章对您有帮助或者解决您的问题,欢迎在文章下面点个赞,或者关注威赞。谢谢。本文结合Mongodb的官方文档,探讨影响Mongodb写入......
  • mongodb常用语句
    mongodb常用语句1.数据库操作1.1创建数据库创建数据库(如果数据库存在则创建,否则则进入该数据库)useblog注:创建数据库后,表中并不会出现在数据库列表中,需要添加数据后,才会出现在数据库列表中1.2修改数据库修改数据库的名称方法1,拷贝当前数据库,再删除旧数据......
  • springboot 如何使用MongoDB集成 shedlock-spring
    ShedLock是一个用于防止在分布式环境中任务重复执行的库。它允许多个节点共享一个任务调度器,并确保同一时间只有一个节点能够执行某个任务。SpringBoot项目中可以通过集成shedlock-spring来实现这一功能。下面是一个完整的集成指南:1.添加依赖首先,需要在pom.xml中添加sh......