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.
mongo
– eine interaktive Shell, die das Alarmprotokoll prüft; B. Details und Wiederholungsversuche einer Operation.mongos
- Unzulässige Beendigung des Prozesses. Außerdem wurde er gezwungen, die Verbindung zu einer Instanz zu trennen.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 aufroot
,C:\>
im Windows-Betriebssystem zu ändern. -
Kopieren Sie den vollständigen Pfad für den Dienst
mongod.exe
. In unserem Fall ist esC:\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 dasroot
-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