Apagar/Detener MongoDB

Bilal Shahid 20 junio 2023
  1. Iniciando MongoDB
  2. Detener MongoDB
  3. Comando de apagado
  4. Métodos especificados en el manual
  5. Comandos de una sola línea
Apagar/Detener MongoDB

MongoDB es una plataforma popular donde los usuarios pueden organizar fácilmente sus bases de datos y realizar múltiples tareas. Sin embargo, acostumbrarse a una nueva interfaz puede llevar un poco de tiempo.

Es común estar a la caza de nuevos métodos para iniciar o detener una plataforma. De la misma manera, si está buscando una nueva forma de detener MongoDB, está en el lugar correcto.

Este artículo analiza varias formas de detener MongoDB para que pueda elegir la que le resulte más fácil.

Iniciando MongoDB

Antes de discutir varias formas de cerrar MongoDB, es mejor discutir un método simple para iniciarlo. Una de las formas más comunes de hacerlo es usando el siguiente código.

./mongod

Este comando le permitirá iniciar MongoDB y comenzar a usarlo.

Detener MongoDB

Hay varias formas de hacerlo cuando se trata de detener MongoDB. No existe un método específico que pueda clasificarse como el mejor.

En cambio, los usuarios suelen elegir un método en función de sus preferencias y el uso de MongoDB. Estas son algunas de las muchas formas en que puede detener MongoDB.

Comando de apagado

El método más común es probablemente usar el comando apagar. Utiliza unas pocas líneas cortas de código, como se muestra a continuación.

./mongo
use admin
db.shutdownServer()

Esto le permitirá detener instantáneamente MongoDB sin ningún problema.

Métodos especificados en el manual

Si ve el manual de MongoDB, es posible que encuentre métodos sugeridos para detenerlo usando shell, cli, controladores y más. Además, también analiza los riesgos de detenerlo abruptamente o incorrectamente.

Los métodos para detener MongoDB especificados en el manual son los siguientes:

Úselo en un paquete

Si ha estado usando MongoDB en un paquete como Ubuntu o Debian, puede detenerlo fácilmente usando este código.

Advenedizo:

sudo service mongod stop

Sysvinit:

sudo /etc/init.d/mongod stop

Sistemas basados en Mac OS X

Si está utilizando un sistema que se ejecuta en Mac OS X, deberá optar por un proceso diferente. Esencialmente, primero debe encontrar el ID del proceso y usarlo para detenerlo.

Entonces, el primer paso sería encontrar el PID del proceso MongoDB con el siguiente comando:

$top

Esto enumera todos los PID que están actualmente en uso. Identifique el de su sistema designado para MongoDB hojeando la lista.

Una vez que lo haya encontrado, use esta línea de código para que se detenga.

$ kill <PID>

Aquí, reemplace el PID dentro de las etiquetas con el PID que identificó para su sistema que corresponde a MongoDB.

Sistemas basados en Red Hat

Es bastante sencillo en los sistemas Red Hat. Todo lo que necesitas es una sola línea de código.

service mongod stop

Sistemas basados en Windows

Para Windows, también es bastante simple. Si lo instaló como un servicio llamado MongoDB, usar esto funcionará bien.

net stop MongoDB

Sin embargo, si no lo ha instalado como un servicio y está usando Windows 7 o posterior, la siguiente línea puede ayudarlo a detener MongoDB.

taskkill /f /im mongod.exe

Comandos de una sola línea

La mayoría de los usuarios quieren soluciones rápidas para prácticamente todo. De la misma manera, algunos usuarios siempre están buscando líneas de código simples que puedan hacer su trabajo.

Al cerrar MongoDB, hay algunas formas de hacerlo en una sola línea de código. Algunos de esos métodos ya se han mencionado anteriormente.

Si desea profundizar en más posibilidades dentro de una línea, aquí hay algunas más.

Usar un alias

La forma más sencilla de simplificar el código es mediante el uso de un alias. Puede hacer lo mismo para generar un código que detenga MongoDB en una línea.

mongo --eval "db.getSiblingDB('admin').shutdownServer()"

la recomendación manual

El tutorial de MongoDB también ofrece una solución en una línea. Esto no se usa con frecuencia, pero aún funciona.

mongod --dbpath /path/to/your/db --shutdown

Proceso de primer plano

Si MongoDB se está ejecutando como un proceso en primer plano, puede usar Ctrl+C para detenerlo. Es importante tener en cuenta que esto puede no funcionar en todos los casos.

Crear un archivo separado

Otro método es crear un archivo y guardar el siguiente código.

mongo admin --eval "db.shutdownServer()"

El nombre del archivo puede ser mongostop.bat o algo similar. Ahora, cuando ejecute el archivo, MongoDB se detendrá automáticamente.

el comando matar

Como se explicó anteriormente, el comando superior lo ayudará a encontrar el PID para detener MongoDB. Sin embargo, también hay variaciones en el comando matar.

kill -2 PID

Esto envía la señal 2 o SIGINT mientras que quitando -2 envía la señal 15 o SIGTERM.

También puede usar el comando pkill si tiene más de una instancia ejecutándose o el PID no importa. Podría enviar la señal a todos los procesos de MongoDB con esto.

pkill mongodb

Sin embargo, es mucho más seguro apuntar solo a aquellos procesos que pertenecen al usuario con lo siguiente:

pkill -U $USER mongod

Nota: si tiene derechos administrativos, pero la base de datos se ejecuta como otro usuario, deberá usar los comandos anteriores agregando sudo antes de ellos. Sin esto, es posible que no funcionen.

Un apagado incorrecto puede provocar varios problemas en MongoDB o en su sistema. Por eso es crucial identificar un apagado correcto y seguro de MongoDB.

Le hemos presentado varios métodos a lo largo de este artículo para que no tenga problemas con esto en el futuro.

Bilal Shahid avatar Bilal Shahid avatar

Hello, I am Bilal, a research enthusiast who tends to break and make code from scratch. I dwell deep into the latest issues faced by the developer community and provide answers and different solutions. Apart from that, I am just another normal developer with a laptop, a mug of coffee, some biscuits and a thick spectacle!

GitHub