Mam instalację MongoDB 2.0.4 na Ubuntu 12.10. Ostatnio miałem problemy z połączeniem się z bazą danych z zewnątrz i doszedłem do wniosku, że było coś, co uniemożliwiło prawidłowe uruchomienie MongoDB. Jak zasugerowano w kilku źródłach (patrz StackOverflow) usunąłem /var/lib/mongodb/mongodb.lock
i uruchomiłem mongod --repair
. Nie rozwiązało to problemu, MongoDB nie uruchamiał się i nadal tworzył pliki bloków, których później nie musiał usuwać. Patrząc na dzienniki, zdałem sobie sprawę, że nie ma dostępu do jakiegoś folderu o nazwie $tmpSomething
, więc (ponieważ nazwa sugeruje folder tymczasowy) usunąłem go, a potem wszystko działało ... oprócz tego, że mam tylko jeden z moich poprzednich baz danych w zasięgu wzroku, podczas gdy inne nadal tam są, ponieważ mój /var/lib/mongodb/
folder jest nadal pełny.ns .0 .1 .n
pliki, które mają dużą wagę. Czy istnieje sposób na przywrócenie ich do bazy danych? (Próbowałem z mongorestore, ale jak się spodziewałem, nie obsługuje tych plików).
Dzięki
mongod --dbpath ./
a następnie kontynuuj mongodump bez--dbpath
mongod --dbpath ./
nie dajesz bazy danych w.ns .0
plikach, być może silnik pamięci masowej domyślnie używa nowego silnika WiredTiger zamiast starego silnika MMapV1.mongod --storageEngine mmapv1 --dbpath ./
Zamiast tego spróbuj połączyć się przy użyciu starego silnika.