Introducción
MongoDB es una aplicación de base de datos utilizada en el desarrollo web que proporciona alto rendimiento, alta disponibilidad y escalado automático.
Las bases de datos tradicionales como MySQL son relacionales, mientras que MongoDB almacena datos como documentos JSON. Esto es especialmente útil para almacenar datos complejos o modificar documentos sin afectar las estructuras de datos existentes.
Esta guía le mostrará cómo instalar MongoDB en Ubuntu 18.04.
Requisitos previos
- Un sistema que ejecuta Ubuntu 18.04 de 64 bits
- Una cuenta de usuario en Ubuntu con privilegios sudo
- Ventana de terminal/acceso a línea de comando
Instalar MongoDB desde los repositorios predeterminados de Ubuntu (Fácil)
Instalación de MongoDB
Comience actualizando y refrescando las listas de paquetes:
sudo apt-get update
sudo apt-get upgrade
Permita que el proceso termine y luego instale la aplicación MongoDB:
sudo apt-get install mongodb
El sistema le solicita que confirme la instalación escribiendo y.
Puede verificar la instalación comprobando la versión:
mongod ––version
En este ejemplo, la versión de MongoDB instalada desde los repositorios es v3.6.3 .
Verifique para asegurarse de que el servicio MongoDB se esté ejecutando y habilitado al inicio:
sudo systemctl status mongodb
El resultado que se muestra en la imagen a continuación confirma que el servicio está activo.
Administrar el servicio MongoDB
Use estos comandos para administrar el servicio MongoDB:
Para detener MongoDB:
sudo systemctl stop mongodb
Para iniciar MongoDB:
sudo systemctl start mongodb
Para reiniciar MongoDB cuando ya se está ejecutando (por ejemplo, para aplicar cambios de configuración):
sudo systemctl restart mongodb
Para evitar que MongoDB se inicie en el arranque:
sudo systemctl disable mongodb
Para configurar MongoDB para que se inicie en el arranque:
sudo systemctl enable mongodB
Cómo utilizar MongoDB Shell
Para iniciar el shell de MongoDB, ingrese:
mongo
Para salir del shell de Mongo, use la combinación de teclas:
Ctrl-C
o el comando:
quit()
Cómo desinstalar MongoDB
Para desinstalar MongoDB, ingrese los comandos:
sudo systemctl stop mongodb
sudo apt purge mongodb
sudo apt autoremove
Instalar MongoDB Community Edition (Complejo)
MongoDB Community Edition está alojado en los servidores de MongoDB. Es más difícil de instalar, pero la versión disponible de los desarrolladores siempre está actualizada.
El primer paso es importar la clave pública al Servidor Ubuntu:
sudo wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add –
El sistema confirma que se agregó la clave, como se ve a continuación.
Cree un archivo de lista y agregue el repositorio de MongoDB:
echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.2.list
Actualizar la base de datos del paquete:
sudo apt-get update
Instalar MongoDB:
sudo apt-get install mongodb-org
De forma predeterminada, el administrador de paquetes de Ubuntu descargará e instalará las actualizaciones a medida que se publiquen. Si comprueba la versión de MongoDB, el sistema confirma que ha instalado la última versión disponible, v4.2.1.
Para bloquear su versión, use lo siguiente:
echo "mongodb-org hold" | sudo dpkg --set-selections
echo "mongodb-org-server hold" | sudo dpkg --set-selections
echo "mongodb-org-shell hold" | sudo dpkg --set-selections
echo "mongodb-org-mongos hold" | sudo dpkg --set-selections
echo "mongodb-org-tools hold" | sudo dpkg --set-selections
Administrar el servicio MongoDB Community Edition
Use los siguientes comandos para administrar el servicio MongoDB:
Para detener MongoDB:
sudo systemctl stop mongod
Para iniciar MongoDB:
sudo systemctl start mongod
Para reiniciar MongoDB cuando ya se está ejecutando (por ejemplo, para aplicar cambios de configuración):
sudo systemctl restart mongod
Para evitar que MongoDB se inicie en el arranque:
sudo systemctl disable mongod
Para configurar MongoDB para que se inicie en el arranque:
sudo systemctl enable mongod
La edición comunitaria usa mongod como el nombre del servicio. Esta es una diferencia significativa de la versión en los repositorios predeterminados. De lo contrario, los comandos son idénticos.
Cómo utilizar MongoDB Shell (Edición comunitaria)
Para iniciar el shell de MongoDB, ingrese lo siguiente:
mongo
Para salir del shell de Mongo, use la combinación de teclas:
Ctrl-C
o ingrese el siguiente comando:
quit()
Desinstalar MongoDB Community Edition
Para desinstalar MongoDB Community Editiion, ingrese los comandos:
sudo service mongod stop
sudo apt-get purge mongodb-org*
sudo rm -r /var/log/mongodb
sudo rm -r /var/lib/mongodb
Configurar cortafuegos para MongoDB
Si está trabajando en el mismo sistema que aloja MongoDB, puede omitir este paso.
MongoDB usa el puerto 27017 comunicar. Puede abrir ese puerto en su firewall, pero hacerlo permitiría el acceso sin restricciones y no se recomienda.
En su lugar, especifique la dirección IP de un sistema que se conectará a MongoDB y otorgue acceso solo a una dirección IP específica. Para ello utilice lo siguiente:
sudo ufw allow from remote_server_IP/32 to any port 27017
Reemplazar remote_server_IP con la dirección IP real del sistema desde el que se conectará.
Verifique el cambio ingresando:
sudo ufw status
Consulte la lista:debería ver el tráfico permitido en el puerto 27017 .
Edite el mongodb archivo de configuración para escuchar otra dirección IP:
sudo nano /etc/mongodb.conf
Busque la entrada etiquetada bind_ip y agregue una coma y la dirección IP de su sistema remoto:
bind_ip = 127.0.0.1, remote_server_IP
#port = 27017
Guarde el archivo y reinicie el servicio MongoDB como se indicó anteriormente.
Configuración básica de MongoDB
Abra un shell de Mongo ingresando lo siguiente:
mongo
Mostrar una lista de todas las bases de datos disponibles:
show dbs
MongoDB viene con la autenticación desactivada. Puede protegerlo activando la autenticación, creando un usuario raíz y una contraseña. Comience cambiando a la base de datos de administración:
use admin
Cree un usuario raíz ingresando lo siguiente:
db.createUser({user:"root", pwd:"complex_password", roles:[{role:"root", db:"admin"}]})
Salga del shell de Mongo presionando CTRL+C. A continuación, edite el mongodb.service archivo para habilitar la autenticación:
sudo nano /lib/system/system/mongodb.service
Busque la sección Servicio y, debajo, ExecStart entrada.
Agregue ––auth inmediatamente después de /usr/bin/mongod, para que tenga el siguiente aspecto:
ExecStart=/usr/bin/mongod --auth --unixSocketPrefix=${SOCKETPATH} --config ${CONF} $DAEMON_OPTS
Guarda el archivo y cierra. Recargar el sistema y los servicios de MongoDB:
sudo systemctl daemon-reload
sudo systemctl restart mongodb
sudo systemctl status mongodb
Para iniciar sesión en Mongo, debe autenticar su cuenta de usuario. Introduzca lo siguiente:
mongo –u “root” –p ––authenticationDatabase “admin”
Cuando se le solicite, escriba la contraseña que configuró anteriormente. El shell de Mongo debería abrirse como antes.