MongoDB-Datenbank reparieren

Mehvish Ashiq 13 Juni 2022
MongoDB-Datenbank reparieren

In diesem Tutorial geht es um das Reparieren einer Datenbank mit MongoDB im Windows-Betriebssystem, abhängig von dem Problem, mit dem wir konfrontiert sind.

Eine Datenbank in MongoDB reparieren

Es gibt verschiedene Szenarien, in denen wir eine Datenbank mit MongoDB reparieren müssen. Beispielsweise reparieren wir eine Datenbank, wenn es zu einem unsachgemäßen oder unsauberen Herunterfahren kommt oder wir wollen Inkonsistenzen und Fehler überprüfen.

Wir reparieren auch die Datenbank, wenn das System versehentlich heruntergefahren wird. Bevor wir uns mit dem Reparaturprozess befassen, wollen wir uns mit den Komponenten der MongoDB-Datenbank vertraut machen.

MongoDB-Datenbankkomponenten

Die MongoDB-Datenbank besteht aus drei Komponenten, die im Folgenden kurz erläutert werden.

  1. mongo – eine interaktive Shell, die das Alarmprotokoll prüft; B. Details und Wiederholungsversuche einer Operation.
  2. mongos - Unzulässige Beendigung des Prozesses. Außerdem wurde er gezwungen, die Verbindung zu einer Instanz zu trennen.
  3. mongod – Ein Daemon-Prozess, der die Hintergrundoperationen und Datenanforderungen verarbeitet.

Im Folgenden sind einige Probleme und die entsprechenden Lösungen aufgeführt.

Problem 1: Das System wird versehentlich heruntergefahren

Im Folgenden finden Sie die schrittweise Lösung für dieses Problem. Denken Sie daran, einen data-Ordner im root-Verzeichnis zu haben, bevor Sie die Schritte ausführen.

  • Verwenden Sie den Befehl cd/, um das Verzeichnis auf root, C:\> im Windows-Betriebssystem zu ändern.
  • Kopieren Sie den vollständigen Pfad für den Dienst mongod.exe. In unserem Fall ist es C:\Program Files\MongoDB\Server\5.0\bin\mongod.exe.

    Beachten Sie, dass wir auch den Parameter --repair hinzugefügt haben.

    C:\> "C:\Program Files\MongoDB\Server\5.0\bin\mongod.exe" --dbpath C:\data --repair
    
  • Drücken Sie die Enter-Taste und warten Sie, bis dies abgeschlossen ist. Sobald dies erledigt ist, wird die Datenbank repariert.

Problem 2: Reparieren Sie MongoDB für unsachgemäßes Herunterfahren

Die Daten können inkonsistent sein, wenn das unsaubere Herunterfahren auftritt und das Journaling während der Arbeit in MongoDB deaktiviert ist. Wenn es eine nicht leere mongod.lock-Datei gibt, werden wir mit der folgenden Fehlermeldung konfrontiert.

Fehlermeldung:

Detected unclean shutdown – mongod.lock is not empty

Die Lösung für dieses spezifische Problem ist unten angegeben.

  • Wechseln Sie mit dem Befehl cd/ an der Windows-Eingabeaufforderung in das root-Verzeichnis.
  • Wir erstellen eine Sicherungskopie der Datendateien im --dbpath.
  • Verwenden Sie --repair, um MongoDB zu initialisieren.
  • Führen Sie den unten angegebenen Befehl aus und drücken Sie Enter.
C:\> mongod --dbpath /data/db --repair

Sobald es fertig ist, wird die MongoDB repariert.

Problem 3: Verbindung fehlgeschlagen, unsauberes Herunterfahren erkannt

Wenn einer von uns auf den folgenden Fehler stößt, müssen wir den zweistufigen Prozess befolgen.

Fehlermeldung:

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

Schritt 1: Öffnen Sie die Windows-Eingabeaufforderung und geben Sie cd/ ein, um das Verzeichnis auf root zu ändern.

Schritt 2: Führen Sie den Befehl wie unten angegeben aus, drücken Sie Enter und warten Sie, bis dieser beendet ist. Sobald dies erledigt ist, ist die MongoDB jetzt repariert.

C:\> mongod --repair
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