O MongoDb é encerrado com o Código 100 [fechado]


88

Segui os documentos do MongoDb para configurar meu primeiro MongoDb,

Quando eu inicio o MongoDB usando o comando

C:\Program Files\MongoDB\Server\3.4\bin\mongod.exe

Estou tendo o erro a seguir insira a descrição da imagem aqui

Respostas:


144

O MongoDB precisa de uma pasta para armazenar o banco de dados. Crie um C:\data\db\diretório:

mkdir C:\data\db

e inicie o MongoDB:

C:\Program Files\MongoDB\Server\3.4\bin\mongod.exe

Às vezes, a C:\data\dbpasta já existe devido à instalação anterior. Portanto, se por este motivo mongod.exenão funcionar, você pode excluir todo o conteúdo da C:\data\dbpasta e executar mongod.exenovamente.


Se você vir os detalhes do erro, há uma linha informando que o diretório C:\data\db\ não foi encontrado. Use:mkdir C:\data\db
cespon

Tag @cespon Gold ..: P
Aravind

O meu foi na verdade/mongodb_data/db
Fabrício

Certifique-se de que o diretório de dados e os arquivos são propriedade do usuário e grupo mongodb (no Linux).
PeterM de

67

Para que os usuários do macOS corrijam esse problema:

Você precisa seguir as seguintes etapas:

Crie o diretório “db”. É aqui que os arquivos de dados Mongo ficarão. Você pode criar o diretório no local padrão executando:

sudo mkdir -p /data/db

Certifique-se de que o /data/dbdiretório tenha as permissões corretas executando:

sudo chown -R `id -un` /data/db

Você está pronto agora e pode executar sudo mongodpara iniciar o servidor Mongo.

Não está funcionando se você executar apenas mongod

Fonte .


3
mesmo no ubuntu 16.04
Manoj Rana

Recebo mkdir: /data/db: Read-only file systemao executar o primeiro comando. Como eu poderia consertar isso? Obrigado.
LC

@LC Adicionar sudo ao comando mkdir
Itay Bachar


14

Para alterar a pasta db padrão C:\data\dbno Windows, o comando é:

--dbpath

Por exemplo:

\mongod --dbpath C:\myfolder

7

Usuários Mac

Em vez de executar o MongoDB com:

sudo mongod

Em mongodvez disso, você pode usar se:

  1. Localize a pasta de dados do mongodb (geralmente ~ / data)
  2. Adicionar permissão para ler + escrever com sudo chmod -R ugo+rw data

Se você precisar usar sudoao executar mongodb ( sudo mongod), isso significa que você não tem permissão de leitura e gravação na pasta de dados mongodb


1
Obrigado por isso. Tive que adicionar permissão para ler + gravar em / data Não entendi o que fiz de errado, mas configurei minha pasta de dados para ~ / Applications / mongodb / data
vinsentos

3

Siga os seguintes passos:

  1. Como outros amigos mencionaram, primeiro você deve criar um diretório para armazenar os dados do banco de dados. Esta pasta pode ser algo como:

    C: \ mongo-data

  2. Na linha de comando, navegue até onde você instalou mongodb e onde mongod.exe reside. No meu caso, o caminho completo é:

    C: \ Arquivos de programas \ MongoDB \ Server \ 3.4 \ bin

  3. A partir daqui, execute mongod.exe e passe para ele o caminho para a pasta que você criou na etapa um usando a sinalização --dbpath da seguinte maneira:

    mongod.exe --dbpath "C: \ mongo-data"

Observação : Se você estiver no Windows, é necessário usar aspas duplas ("") acima para funcionar corretamente.

Desta forma, você obterá algo como o seguinte:

2017-06-14T12:45:59.892+0430 I NETWORK  [thread1] waiting for connections on port 27017

Se você usar aspas simples ('') no Windows, obterá:

2017-06-14T01:13:45.965-0700 I CONTROL  [initandlisten] shutting down with code:100

Espero que ajude a resolver o problema.


1

Para executar o Mongo DB demon com o mongodcomando, você deve ter um diretório de banco de dados, provavelmente você precisa executar:

mkdir C:\data\db

Além disso, o MongoDB precisa ter permissões de gravação para esse diretório ou deve ser executado com permissões de superusuário, como sudo mongod.


1

Continuei recebendo o seguinte erro quando tentei iniciar o mongodb (no mac os).

"shutting down with code:100"

Eu estava usando o seguinte comando:

./mongod --dbpath=~/mongo-data

A correção para mim era que eu não precisava do sinal "=" e isso estava causando o erro. Então eu fiz

./mongod --dbpath ~/mongo-data

Só queria jogar fora porque o erro de forma alguma especifica que esse é o problema. Quase removi o conteúdo do diretório ~ / mongo-data para ver se isso ajudou. Ainda bem que lembrei que às vezes os cli args não usam o sinal "=".


1

primeiro você precisa criar um diretório de dados onde o MongoDB armazena dados. O caminho do diretório de dados padrão do MongoDB é o caminho absoluto \ data \ db na unidade de onde você inicia o MongoDB.

se você instalou na unidade C: /, será necessário criar o diretório data \ db. para fazer este comando run em cmd

C:\>mkdir data\db

Para iniciar o MongoDB, execute mongod.exe.

"C:\Program Files\MongoDB\Server\4.2\bin\mongod.exe" --dbpath="c:\data\db"

A opção --dbpath aponta para o diretório do seu banco de dados. insira a descrição da imagem aqui

Conecte-se ao MongoDB.

"C:\Program Files\MongoDB\Server\4.2\bin\mongo.exe"

para verificar se tudo funciona bem:

show dbs

insira a descrição da imagem aqui


1

1.Se houver erro (desligando com o código 100), significa que não está encontrando o local desejado do arquivo.

1.a Se for antes do macOS Catalina, crie o diretório com sudo mkdir -p / data / db e dê permissões para usá-lo
sudo chown -R id -un/ data / db.

1.b se for macOS Catalina em diante, faça sudo mkdir -p / System / Volumes / data / db e dê a ele permissões sudo chown -R id -un/ System / Volumes / data / db.

2. Iniciar os serviços mongo db brew, executar mongodb-community

3. Digite mongod ou mongod --dbpath / System / Volumes / Data / data / db

4. E se o mongod mostrar erro (desligando com o código 48), isso
significa que a porta já está sendo usada, então você pode fazer duas coisas

4.a Você pode alterar a porta do mongod especificando o
número da porta mongod --dbpath / System / Volumes / Data / data / db —port 27018.

4.b Ou você pode encerrar o processo nessa porta encontrando o processo por sudo lsof -i: 27017 e, em seguida, encerrar por comando
kill -9

5.Repita as etapas 2 e 3.


1

Para usuários do macOS, cuide do seguinte problema:

se você estiver instalando a comunidade MongoDB no macOS usando .tgz Tarball

( A partir do macOS 10.15 Catalina, a Apple restringe o acesso ao diretório de dados padrão do MongoDB de / data / db. No macOS 10.15 Catalina, você deve usar um diretório de dados diferente, como / usr / local / var / mongodb. ))

você pode resolvê-lo da seguinte maneira:

(MacOS Catalina em diante)

A Apple criou um novo Volume em Catalina para fins de segurança. Se você estiver no Catalina, precisará criar a pasta / data / db em System / Volumes / Data.

Use este comando:

sudo mkdir -p /System/Volumes/Data/data/db

Em seguida, use este comando para dar permissões:

sudo chown -R `id -un` /System/Volumes/Data/data/db

isso vai substituir o normal

sudo mkdir -p /data/db

Certifique-se de que o diretório / data / db tenha as permissões corretas executando:

sudo chown -R `id -un` /data/db

depois de terminar e iniciar o mongoDB, você pode usar o seguinte no terminal:

sudo mongod --dbpath /System/Volumes/Data/data/db

0

Em MacOS : -

Se você esqueceu de fornecer o caminho do banco de dados criado anteriormente durante a execução do servidor mongo, o erro acima aparecerá.

sudo ./mongod --dbpath ../../mongo-data/

Referência

Nota: - ./mongod && ../../mongo-data é o caminho relativo. Então você pode evitá-lo configurando na variável de ambiente

Referência


0

Para Windows tenho o mesmo problema.

A correção foi - eu preciso executar a linha de comando como administrador.


1
Eu sugeriria reformular a resposta para algo como: "Se você tiver esse problema no Windows, certifique-se de que está executando a linha de comando como administrador".
Filnor

0

se você já tiver o diretório, verifique as permissões do dir ou tente reiniciar o mongo com sudo. sudo brew services start mongodb


0

No meu caso, recebi um erro semelhante e estava acontecendo porque eu havia executado o mongod com o usuário root e isso tinha criado um arquivo de log acessível apenas pelo root. Eu poderia consertar isso mudando a propriedade do root para o usuário do qual você normalmente executa o mongod. O arquivo de log estava em / var / lib / mongodb / journal /


0

Se você estiver usando o Virtualbox, verifique sua VM.

docker-machine ssh

df -h

Observe dev / sda1 se você não tiver nenhum espaço livre, isso pode ser devido a um grande número de imagens ou contêineres. você pode removê-los usando "docker rm" e "docker rmi"


0

Este código de saída também será fornecido se você estiver alterando as versões do MongoDB e o diretório de dados for incompatível, como em um downgrade. Mova o diretório antigo para outro lugar e crie um novo diretório (de acordo com as instruções fornecidas em outras respostas).


0

Aravind.

Aconteceu comigo também porque parei o MongoDB pelo Gerenciador de Tarefas.

Criando a pasta C: \ data \ db e iniciando o MongoDB em C: \ Arquivos de Programas \ MongoDB \ Server \ 3.4 \ bin \ mongod.exe funcionou para mim, conforme sugerido pelo cespon, mas o MongoDB não mostrou nenhum dos meus bancos de dados criado anteriormente.

Em seguida, removendo a pasta C: \ data \ db e reparando a instalação com o instalador MongoDB , recuperei meus dados e iniciei normalmente o MongoDB.

(Eu sou muito novo com o MongoDB, mas me ajudou a resolver esse problema e recuperar dados do preview).


0

digitou mongod e obtendo erro

Erros:

exceção em initAndListen: NonExistentPath: diretório de dados / data / db não encontrado., terminando

encerra com Código 100

Em seguida, tente com (criar dados e pasta db com todas as permissões)

mongod --dbpath = / data

use a nova guia e digite mongo.

> usar dbs

Se ainda estiver enfrentando problemas, você pode verificar o mac catalina: ( https://docs.mongodb.com/manual/tutorial/install-mongodb-on-os-x-tarball/ )

para Windows: https://docs.mongodb.com/manual/tutorial/install-mongodb-on-windows-unattended/

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.