O servidor parece ser iniciado como o usuário incorreto e não pode acessar seus arquivos de dados.
Como você começou?
Você o executou a partir do shell como seu próprio usuário ou como um serviço?
Dê uma olhada no proprietário dos diretórios de dados - esse é o usuário que precisa executar como.
O comando
ls -ld /data /data/db /data/db/journal
mostraria o usuário (usando três diretórios porque eu não sei qual será legível).
Hmm ... então, /data/db
é de propriedade de useer mongodb
- parece correto.
Mas dentro dela, /data/db/journal
é de propriedade de root
. Parece errado para mim.
Experimente um sudo chown -R mongodb:mongodb /data/db/journal
,
então /data/db/journal
com todos os arquivos contidos nele pertence ao usuário mongodb.
Mas há um problema independente envolvido, que você precisa corrigir antes: sudo
não funciona e mostra o erro sudo: unable to resolve host sanket-PC
,
o que significa que você atualmente não tem acesso root. Veja Mensagem de erro quando eu executo o sudo: incapaz de resolver host (nenhum) .
Você fez uma edição substituindo todo o texto da pergunta - sem dizer o que mudou, então a pergunta faz sentido.
Olhando para o log, há um erro interessante:
O banco de dados tenta iniciar e descobre que a porta de rede usada para liberar conexões do cliente já está em uso:
Sun Oct 5 09:58:49.237 [initandlisten] ERROR: listen(): bind() failed errno:98 Address already in use for socket: 0.0.0.0:27017
Sun Oct 5 09:58:49.237 [websvr] ERROR: listen(): bind() failed errno:98 Address already in use for socket: 0.0.0.0:28017
Sun Oct 5 09:58:49.237 [initandlisten] ERROR: addr already in use
Sun Oct 5 09:58:49.237 [websvr] ERROR: addr already in use
A porta é escolhida de tal forma que normalmente ninguém a usa para mais nada; Isso significa que é provavelmente mongod
que está usando a porta - o que significa que há uma instância já em execução.
Experimente pgrep -fa mongod
para mostrar os processos em execução mongod
.
(Independente disso, não está claro se o problema original foi corrigido. Não foi possível causar o erro original aqui porque não havia arquivos de diário.)