Soubor protokolu vám říká, že máte "starý soubor zámku" . MongoDB uchovává soubor zámku, když je spuštěn. Vytvoří tento soubor, když je spuštěn, a smaže jej, když je zastaven. Když se počítač zhroutí (nebo se zhroutí MongoDB, např. přes kill
), tento soubor se nesmaže, a proto se databáze nespustí. Existence tohoto souboru naznačuje nečisté vypnutí MongoDB.
Lze udělat dvě věci:
-
Pokud se jedná o vývojový stroj a vy jste nepoužívali svou databázi (a ani vaše programy), můžete soubor odstranit ručně. Pro MongoDB 2.2.2 běžící na Ubuntu 12.10 je v
/var/lib/mongodb/mongod.lock
. U jiných verzí může být soubor v jiné cestě nebo se může jmenovatmongo.lock
. -
Bezpečnější cestou je postupovat podle průvodce Trvanlivost a opravy MongoDB. Stručně řečeno, pro počítač s výše uvedenou konfigurací byste měli provést následující příkazy:
sudo -u mongodb mongod --repair --dbpath /var/lib/mongodb/ sudo service mongod start