Iniciando e Parando o MongoDB é abordado no manual do MongoDB. Ele explica as várias opções de parada do MongoDB através do shell, cli, drivers etc. Também detalha os riscos de parar incorretamente o MongoDB (como corrupção de dados) e fala sobre os diferentes sinais de interrupção.
Além disso, se você instalou o MongoDB usando um gerenciador de pacotes para Ubuntu ou Debian , poderá parar o mongodb (atualmente mongod no ubuntu) da seguinte maneira:
Ou no Mac OS X
Ou nos sistemas baseados na Red Hat :
Ou no Windows, se você instalou como um serviço chamado MongoDB
:
E se não estiver instalado como um serviço (a partir do Windows 7+), você poderá executar:
taskkill /f /im mongod.exe
Para saber mais sobre os problemas de um desligamento impuro, como evitar esse cenário e o que fazer no caso de um desligamento impuro, consulte: Recuperar dados após um desligamento inesperado .
sudo service mongodb [start|stop|restart|status]
.sudo service stop mongodb
resulta em: paragem: serviço não reconhecidoSe você quiser literalmente uma linha equivalente aos comandos da sua pergunta original, você pode usar o alias:
mongo --eval "db.getSiblingDB('admin').shutdownServer()"
A resposta de Mark sobre como iniciar e parar o MongoDB por meio de serviços é a abordagem administrativa mais típica (e recomendada).
fonte
start C:\mongodb\bin\mongod.exe --config C:\net2\primary1-pc\mongod.cfg start C:\mongodb\bin\mongod.exe --config C:\net2\secondary1-pc\mongod.cfg ...
e depois o shutdown.batC:\mongodb\bin\mongo.exe --eval "db.getSiblingDB('admin').shutdownServer()" --port 27017 C:\mongodb\bin\mongo.exe --eval "db.getSiblingDB('admin').shutdownServer()" --port 27018 C:\mongodb\bin\mongo.exe --eval "db.getSiblingDB('admin').shutdownServer()" --port 27019 ...
net stop MongoDB
não era confiável, então eu usei algo semelhante:mongo admin --eval "db.shutdownServer()"
. Felicidades!mongod --dbpath /path/to/your/db --shutdown
Mais informações em official: http://docs.mongodb.org/manual/tutorial/manage-mongodb-processes/
fonte
mongod v3.4.10
:Error parsing command line: unrecognised option '--shutdown'
:-(db.shutdownServer({force:1,timeoutSecs:0})
que inibiria a liberação dos dados restantes para os secundários. Você pode nem sempre querer isso.Se o servidor estiver executando como o processo em primeiro plano em um terminal, isso pode ser feito pressionando
Outra maneira de desligar corretamente um servidor em execução é usar o comando shutdown,
Caso contrário, um comando como kill pode ser usado para enviar o sinal. Se o mongod tiver 10014 como PID, o comando será
fonte
Eu segui a documentação oficial do MongoDB para parar com os sinais. Um dos seguintes comandos pode ser usado (o PID representa
Process ID
omongod
processo):que envia o sinal 15 (SIGTERM), ou
que envia o sinal 2 (SIGINT).
Se você possui mais de uma instância em execução ou não se importa com o PID, pode
pkill
enviar o sinal para todos osmongod
processos em execução :ou
ou, muito mais seguro, apenas para os processos que pertencem a você:
ou
Nota do PS : Eu usei essa opção porque
mongod --shutdown
, embora mencionado na documentação atual do MongoDB , curiosamente não funciona na minha máquina (macOS, mongodb v3.4.10, instalado comhomebrew
):Error parsing command line: unrecognised option '--shutdown'
PPS
(específico do macOS) Antes que alguém se perguntasse: não, não consegui parar com o comando
brew services stop mongodb
porque não o iniciei
brew services start mongodb
.Eu comecei
mongod
com uma linha de comando personalizada :-)fonte
Usar
mongod --shutdown
De acordo com o documento oficial: manage-mongodb-process /
: D
fonte
Meu caso especial é:
iniciar o mongod anteriormente por:
agora quer parar
mongod
.e consulte o documento oficial Stop mongod Processes , tentou:
(1)
shutdownServer
mas falhou:(2)
--shutdown
ainda falhou:(3) comando de início anterior adicionando --shutdown:
(4) use
service
para parar:e
show esperado,
Active: inactive (dead)
masmongod
na verdade ainda está em execução, pois pode ver o processo do ps:e finalmente , realmente pare o mongod:
até agora, causa raiz: ainda desconhecida ...
A solução acima da esperança é útil para o seu.
fonte
crie um arquivo chamado mongostop.bat
salve o código a seguir
execute o arquivo mongostop.bat e você parou com êxito o mongo
fonte
Um liners para iniciar ou parar o serviço mongodb usando a linha de comando;
NET START MONGODB
NET STOP MONGODB
Eu mesmo uso isso, funciona.
fonte
Dos comandos fornecidos, acho que você está no Linux.
Inicie o MongoDB:
Verifique o status:
Pare o MongoDB:
fonte
Com base na resposta de stennie:
Eu descobri que o mongo estava tentando se reconectar ao banco de dados após o servidor desligar, o que causaria um atraso e mensagens de erro. Adicionar quit () após o desligamento acelera e reduz as mensagens, mas ainda existe uma.
Também quero adicionar contexto - estou iniciando e parando o mongod como parte de casos de teste para outro código; portanto, o registro como um serviço não se encaixa no caso de uso. Espero terminar com algo que roda em todas as plataformas (testado no Windows agora). Estou usando o mongod 3.6.9
fonte
Eu simplesmente fiz:
quit();
Observe que estou usando o mongo 3.0.
Mongo
fonte
na janela do terminal no seu mac, pressione control + c
fonte
Usando homebrew (maneira recomendada):
Para iniciar:
brew services start mongodb-community
Parar:
brew services stop mongodb-community
fonte
Eu uso esse script de inicialização no Ubuntu.
fonte
janelas
No PowerShell, é:
Stop-Service MongoDB
Então, para iniciá-lo novamente:
Start-Service MongoDB
Para verificar se ele é iniciado, execute:
net start | findstr MongoDB
.Nota: Acima, assume que o MongoDB está registrado como um serviço .
fonte
Aproveite o Gerenciador de Tarefas fornecido pelo seu sistema operacional para obter uma solução rápida e fácil. Abaixo está o screengrab do / para Windows 10. Clique com o botão direito do mouse no processo realçado e selecione Parar . Selecione iniciar , se já estiver parado.
Observação: internamente, os comandos estão fazendo a mesma coisa que você deve fazer manualmente, usando uma GUI (Gerenciador de tarefas), fornecida pelo Windows / seu sistema operacional. No entanto, essa abordagem deve ser usada para fins de estudo / prática e você não será bloqueado por isso.
fonte
CTRL + C
na linha de comando do windows
fonte