O arquivo de log está informando que você tem um "arquivo de bloqueio antigo" . O MongoDB mantém um arquivo de bloqueio enquanto está em execução. Ele cria esse arquivo quando é iniciado e o exclui quando é interrompido. Quando o computador trava (ou o MongoDB trava, por exemplo, via
kill
), esse arquivo não é excluído e, portanto, o banco de dados não inicia. A existência deste arquivo indica desligamento não limpo do MongoDB. Duas coisas podem ser feitas:
-
Se esta for uma máquina de desenvolvimento e você não estiver usando seu banco de dados (nem seus programas), você pode remover o arquivo manualmente. Para MongoDB 2.2.2 rodando no Ubuntu 12.10, está em/var/lib/mongodb/mongod.lock
. Para outras versões, o arquivo pode estar em um caminho diferente ou pode ser nomeadomongo.lock
.
-
A rota mais segura é seguir o guia de durabilidade e reparo do MongoDB. Em resumo, para uma máquina com a configuração acima, você deve executar os seguintes comandos:
sudo -u mongodb mongod --repair --dbpath /var/lib/mongodb/ sudo service mongod start