修复 MongoDB 数据库

Mehvish Ashiq 2022年6月7日
修复 MongoDB 数据库

本教程根据我们面临的问题讨论在 Windows 操作系统中使用 MongoDB 修复数据库。

在 MongoDB 中修复数据库

在不同的场景中,我们需要使用 MongoDB 修复数据库。例如,如果出现不正确或不干净的关闭,或者我们想要检查不一致和错误,我们会修复数据库。

如果系统意外关闭,我们也会修复数据库。在进入修复过程之前,让我们了解一下 MongoDB 数据库的组件。

MongoDB 数据库组件

MongoDB 数据库有三个组件,下面简要说明。

  1. mongo - 检查警报日志的交互式外壳;例如,详细信息和重试操作。
  2. mongos - 进程的不当终止。此外,它被迫与实例断开连接。
  3. mongod - 处理后台操作和数据请求的守护进程。

以下是一些问题和相应的解决方案。

问题 1:系统意外关闭

以下是此问题的分步解决方案。在执行这些步骤之前,请记住在 root 目录中有一个 data 文件夹。

  • 在 Windows 操作系统中,使用 cd/ 命令将目录更改为 rootC:\>
  • 复制 mongod.exe 服务的完整路径。在我们的例子中,它是 C:\Program Files\MongoDB\Server\5.0\bin\mongod.exe

    请注意,我们还添加了 --repair 参数。

    C:\> "C:\Program Files\MongoDB\Server\5.0\bin\mongod.exe" --dbpath C:\data --repair
    
  • 点击 Enter 键并等待完成。完成后,将修复数据库。

问题 2:修复 MongoDB 不正确关闭

如果在 MongoDB 中工作时发生不干净的关闭并且日志功能被禁用,则数据可能会不一致。如果有一个非空的 mongod.lock 文件,我们将面临以下错误消息。

错误信息:

Detected unclean shutdown – mongod.lock is not empty

下面给出了这个特定问题的解决方案。

  • 在 Windows 命令提示符下使用 cd/ 命令切换到 root 目录。
  • 我们在 --dbpath 中创建数据文件的备份副本。
  • 使用 --repair 来初始化 MongoDB。
  • 执行下面给出的命令并点击 Enter
C:\> mongod --dbpath /data/db --repair

完成后,将修复 MongoDB。

问题 3:检测到 Connect Failed Unclean Shutdown

如果我们中的任何人面临以下错误,我们必须遵循两步过程。

错误信息:

couldn't connect to server 127.0.0.1 shell/mongo.js:8 4 exceptions: connect failed Unclean shutdown detected

第 1 步:打开 Windows 命令提示符并键入 cd/ 将目录更改为 root

步骤 2:执行如下命令,按 Enter 并等待结束。完成后,MongoDB 现在就修复了。

C:\> mongod --repair
作者: Mehvish Ashiq
Mehvish Ashiq avatar Mehvish Ashiq avatar

Mehvish Ashiq is a former Java Programmer and a Data Science enthusiast who leverages her expertise to help others to learn and grow by creating interesting, useful, and reader-friendly content in Computer Programming, Data Science, and Technology.

LinkedIn GitHub Facebook