Die Protokolldatei sagt Ihnen, dass Sie eine "alte Sperrdatei" haben . MongoDB bewahrt während der Ausführung eine Sperrdatei auf. Es erstellt diese Datei, wenn es gestartet wird, und löscht sie, wenn es gestoppt wird. Wenn der Computer abstürzt (oder MongoDB abstürzt, z. B. über kill
), wird diese Datei nicht gelöscht und somit startet die Datenbank nicht. Das Vorhandensein dieser Datei weist auf ein unsauberes Herunterfahren von MongoDB hin.
Zwei Dinge können getan werden:
-
Wenn es sich um eine Entwicklungsmaschine handelt und Sie Ihre Datenbank (und Ihre Programme auch nicht) verwendet haben, können Sie die Datei manuell entfernen. Für MongoDB 2.2.2, das auf Ubuntu 12.10 ausgeführt wird, befindet es sich in
/var/lib/mongodb/mongod.lock
. Bei anderen Versionen könnte sich die Datei in einem anderen Pfad befinden oder sie könntemongo.lock
heißen . -
Der sicherere Weg ist, dem Haltbarkeits- und Reparaturleitfaden von MongoDB zu folgen. Zusammenfassend sollten Sie für eine Maschine mit der obigen Konfiguration die folgenden Befehle ausführen:
sudo -u mongodb mongod --repair --dbpath /var/lib/mongodb/ sudo service mongod start