mongodb Não é possível criar / abrir o arquivo de bloqueio

1

Eu instalei mongodb :

sudo apt-get install mongodb

Tentei executá-lo:

mongod

é executado neste erro:

Mon Aug 21 20:46:44 [initandlisten] exception in initAndListen: 10309 Unable to create/open 
lock file: /data/db/mongod.lock errno:13 Permission denied Is a mongod instance already running?, terminating

Mas os direitos de acesso devem ser corrigidos agora:

makan@blah:~$ls -hal /data/db/
total 8.0K
drwxr-xr-x 2 mongodb mongodb 4.0K Aug 21 19:56 .
drwxr-xr-x 3 mongodb mongodb 4.0K Aug 21 19:56 ..

e:

makan@blah:~$ls -hal /data/
drwxr-xr-x  2 mongodb mongodb 4.0K Aug 21 19:56 db

Então por que o mongodb não pode abrir / criar o arquivo de bloqueio?

    
por Makan Tayebi 21.08.2017 / 21:00

1 resposta

2

A partir da descrição da pergunta, parece que você está executando mongod de sua própria conta (usuário: makan ).

Sua chamada de mongod sem especificar um arquivo de configuração ou --dbpath exigiria que esse usuário tivesse permissões de leitura / gravação para o diretório dbpath padrão ( /data/db ). Como /data/db é apenas gravável pelo usuário mongodb , um erro de permissão é esperado quando mongod tentar gravar um arquivo em execução com as permissões de makan :

  

arquivo de bloqueio: /data/db/mongod.lock errno: 13 Permissão negada É uma instância do mongod já em execução ?, terminando

A maneira usual de iniciar / parar mongod está usando a definição de serviço, que é executada como usuário e grupo mongodb via sudo service mongod start .

O serviço usa um arquivo de configuração ( /etc/mongod.conf ) e um diretório de dados ( /var/lib/mongodb ) que já deve ter as permissões corretas após a instalação.

    
por Stennie 31.08.2017 / 14:55