Cómo instalar MongoDB en Ubuntu 18.04 – 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 18.04.

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.

¿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 18.04

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 18.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 18.04 y dar los primeros pasos con el administrador de bases de datos.

Author
El autor

Deyimar A.

Deyi es una entusiasta del marketing digital, con experiencia en diseño de páginas web, creación de contenido, copywrite y SEO. Forma parte del equipo de SEO & Localization de Hostinger. En su tiempo libre, le gusta desarrollar proyectos, leer un libro o ver una buena película.