Cómo instalar MongoDB en Ubuntu: guía para principiantes
Si hablamos de gestión de datos, seguramente piensas de inmediato en MySQL. Sin embargo, no es el único sistema de gestión de datos que existe. Hay muchos sistemas potentes de gestión de datos para VPS basados en Linux, como PostgreSQL, SQLite, Oracle, MongoDB o MariaDB.
En este artículo te explicaremos paso a paso cómo instalar MongoDB en Ubuntu.
PostgreSQL, SQLite, Oracle y MariaDB, además de ser bases de datos relacionales, usan el lenguaje SQL. Mientras que MongoDB, uno de los administradores de bases de datos más populares, es NoSQL, altamente funcional y con gran rendimiento.
Tabla de Contenidos
¿Qué es MongoDB?
Como decíamos antes, MongoDB es uno de los administradores de bases de datos NoSQL más populares y mejor conocidos. Principalmente, se usa para aplicaciones que pueden guardar datos en documentos formateados, como BSON.
Esto significa que en lugar de guardar los datos en registros tipo SQL, los guarda en documentos.
En las bases de datos de tipo NoSQL, los documentos no tienen un esquema definido. Puede que te preocupe que esto cause una base de datos desordenada, pero en realidad, es todo lo contrario. En un sistema como este, los “campos” y los datos se simplifican, por lo tanto, son más fáciles de administrar y se almacenar más rápido.
Además de esto, MongoDB es popular en entornos en los que se trabaja con escalabilidad masiva. Con MongoDB, puedes llevar a cabo rápidamente técnicas de replicación que permiten la escalabilidad de los datos. Por lo tanto, para cualquier aplicación que requiera almacenar datos semiestructurados puedes usar MongoDB.
Instalar MongoDB en Ubuntu
Aunque MongoDB es una aplicación muy conocida, no se encuentra en los repositorios oficiales de Ubuntu, por lo que deberás agregarla manualmente. Sin embargo, esta es una gran ventaja porque facilita la instalación y las actualizaciones de la aplicación. Ahora bien, para instalar MongoDB en Ubuntu, primero tendrás que conectarte a tu servidor usando SSH:
ssh your-user@your-server
Si estás utilizando Ubuntu 22.04, abre el terminal y agrega la clave PGP del repositorio MongoDB para evitar comprometer los paquetes descargados:
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
Después de esto podrás agregar el repositorio MongoDB sin ningún problema. Para hacerlo, ejecuta este comando:
echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list
A continuación, actualiza el comando APT para sincronizar todos los repositorios:
sudo apt update
A continuación, instala MongoDB usando APT:
sudo apt-get install -y mongodb
sudo apt install mongodb-org
Al finalizar la instalación, habilita e inicia el servicio MongoDB. Llegado a este punto, ya puedes comenzar a utilizarlo:
sudo systemctl enable mongodb
sudo systemctl start mongodb
Finalmente, verifica el estado del servicio:
sudo systemctl status mongodb
Ahora ya sabes cómo instalar MongoDB en Ubuntu, y está listo para ser utilizado.
Comenzando con MongoDB
Ahora que sabemos cómo instalar MongoDB en Ubuntu, aprendamos algunos conceptos básicos de MongoDB.
¡Importante! Ten en cuenta que el archivo de configuración de MongoDB es /etc/mongod.conf. Cualquier cambio que realices en ese archivo requiere un reinicio de la aplicación para funcionar. El directorio /var/log/mongodb se creó durante la instalación y es donde se ubicarán los registros de la aplicación. Finalmente, el puerto predeterminado de MongoDB es 27017.
Crear una nueva base de datos
MongoDB viene con una única base de datos llamada admin. Para garantizar un buen flujo de trabajo, deberás crear más para tu proyecto. Para hacerlo, primero, ve a la consola MongoDB:
mongo
Una vez dentro, puedes crear una base de datos con el uso del siguiente comando. Ten en cuenta que, a diferencia del lenguaje SQL, no hay un comando de “crear bases de datos”, solo un comando de uso. Si la base de datos existe, se puede usar; de lo contrario, el comando la creará.
use [nombre_base_datos]
Tan simple como eso.
Crear un nuevo usuario
Al terminar de instalar MongoDB en Ubuntu te darás cuenta de que no incluye una cuenta de administrador predeterminada. En su lugar, deberás comenzar a crear diferentes usuarios para cada base de datos. Y tendrás que crear usuarios con permisos específicos en cada base de datos.
Una vez dentro de la consola de MongoDB, puedes acceder a la ayuda que ofrece su interfaz:
help
En esta sección, puedes leer sobre la función db.createUser(). Con esta función podrás especificar el nombre, la contraseña, la base de datos y los roles que tendrá el usuario.
La función db.createUser, como todo lo demás en MongoDB, recibe parámetros en JSON. Entonces, para dar lugar a un nuevo usuario para la base de datos recién creada, ejecute este comando:
db.createUser( { user: "deyi", pwd: "deyi123", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] } )
Existen varios tipos de roles, como dbAdmin, dbUser, read y otros. Por lo tanto, es mejor visitar la documentación oficial de MongoDB para determinar qué es lo más conveniente según lo que necesites.
Ahora, con el siguiente comando, puedes ver todos los usuarios creados hasta ahora con el comando:
show users
Para probar que todo está bien con el usuario creado, sal de la consola de MongoDB con exit y ejecute el siguiente comando:
exit
mongo -u [usuario] -p [contraseña] [host:puerto]/[basededatos]
Habilitar la autenticación remota en MongoDB
Por defecto, MongoDB autoriza todos los registros de la máquina local. No tendrás problemas mientras estés ejecutando la aplicación.
Sin embargo, debido a que debes habilitar la autenticación, es posible que tengas problemas cuando la aplicación esté lista y tengas que implementarla.
Para evitar inconvenientes, abre el archivo /etc/mongodb.conf y comenta la línea que dice bindIP: 127.0.0.1.
sudo nano /etc/mongodb.conf
Luego, reinicia el servicio. Puedes modificar el puerto predeterminado de MongoDB en el mismo archivo.
sudo systemctl restart mongodb
Ahora solo los usuarios locales podrán iniciar sesión sin autenticación en MongoDB. Si tu servidor se ve comprometido, o si deseas aumentar la seguridad, aún más, siempre puedes deshacer el cambio.
Conclusión
Hay muchas aplicaciones con diferentes necesidades de datos. Es por eso que surgen alternativas NoSQL como MongoDB.
MongoDB es uno de los administradores de bases de datos más importantes que existen, debido a su robustez, velocidad y escalabilidad.
En este artículo, te explicamos cómo instalar MongoDB en Ubuntu 22.04 y dar los primeros pasos con el administrador de bases de datos.