Ich habe eine MongoDB 2.0.4-Installation unter Ubuntu 12.10. Vor kurzem hatte ich einige Probleme mit der Verbindung zur Datenbank von außen und stellte fest, dass MongoDB nicht richtig gestartet werden konnte. Wie in mehreren Quellen vorgeschlagen (siehe StackOverflow), entfernte ich /var/lib/mongodb/mongodb.lock
und lief mongod --repair
. Dies löste das Problem nicht, MongoDB lief nicht und erstellte weiterhin Sperrdateien, die anschließend nicht mehr entfernt wurden. Als ich mir die Protokolle ansah, stellte ich fest, dass es keinen Zugriff auf einen Ordner mit dem Namen $tmpSomething
hatte. Da der Name einen temporären Ordner vorschlug, entfernte ich ihn und danach funktionierte alles ... mit der Ausnahme, dass ich nur einen hatte von meinen vorherigen datenbanken in sicht, während die anderen noch da sind, weil mein /var/lib/mongodb/
ordner noch voll ist von.ns .0 .1 .n
Dateien, die viel Gewicht haben. Gibt es eine Möglichkeit, sie in der Datenbank wiederherzustellen? (Ich habe es mit mongorestore versucht, aber wie ich erwartet hatte, werden diese Dateien nicht verarbeitet).
Vielen Dank
mongod --dbpath ./
und dann mit dem Mongodump ohne den--dbpath
mongod --dbpath ./
Ihnen die Datenbank nicht in den.ns .0
Dateien zur Verfügung stellen, wird möglicherweise standardmäßig die neue WiredTiger-Engine anstelle der alten MMapV1-Engine als Speicher-Engine verwendet. Versuchen Siemongod --storageEngine mmapv1 --dbpath ./
stattdessen, eine Verbindung mit der alten Engine herzustellen.