Pro svou práci používám nerelační databázi MongoDB. Včera po práci jsem zapomněl vypnout svůj virtuální testovací stroj, který mi jede na notebooku a došlo k jeho násilnému vypnutí. Inu, to se někdy stane. Souborový systém ext4 se z toho otřepe, ale databáze tohle rády nevidí. Ani ty nerelační.
Jel jsem podle manuálu, kde se doporučuje volba --repair. Jenže standardně MongoDB hledá datové soubory v adresáři /data, což je poněkud neUNIXové. V systémech Red Hat (a nejen v nich) jsou datové soubory jinde (adresář /var). Opravení databáze bylo tedy snadné:
sudo rm /var/lib/mongodb/mongod.lock
sudo -u mongodb mongod -f /etc/mongodb.conf --repair
Po odstranění lock souboru se MongoDB spustí na popředí, můžete ihned začít pracovat. V opačném případě ji vypněte kombinací Ctrl + C a spusťte znovu démona.
Jak opravit MongoDB databázi v RHELu/Fedoře
January 18, 2011