Wenn mongod
with repair dies nicht tut, dann gerät es in eine Beschädigungsebene, die es nicht beheben oder umgehen kann, um einen gültigen und korrekten Satz von Datenbankdateien zum Starten zu haben.
Sie können mongodump
ausführen mit Reparatur
, das aggressiver ist, um die Korruption zu umgehen, und kein mongod
startet Instanz (daher müssen die Dateien nicht korrekt sein, um fortzufahren).
mongodump --repair --dbpath /var/lib/mongodb/ <other options here>
Beachten Sie jedoch, dass Sie aufgrund der Art und Weise, wie versucht wird, die Beschädigung zu umgehen, möglicherweise mehrere Kopien eines Dokuments erhalten. Mit wie mongorestore
funktioniert, ist dies kein Problem, aber je nach Grad der Beschädigung können Sie mit Dump-Dateien enden, die viel größer sind, als Sie erwarten würden. In einem sehr extremen Fall habe ich einmal gesehen, dass 10x Daten produziert wurden, obwohl das eher die Ausnahme als die Regel war.
Wenn Sie alles zu Ihrer Zufriedenheit gelöscht haben, starten Sie mongod
reinigen und erneut importieren, um wieder in einen guten Zustand zu gelangen.