Cómo instalar MongoDB en Ubuntu 18.04

MongoDB es una base de datos documental gratuita y de código abierto. Pertenece a una familia de bases de datos llamada NoSQL, que es diferente de las tradicionales bases de datos SQL basadas en tablas como MySQL y PostgreSQL.

En MongoDB, los datos se almacenan en documentos flexibles, de tipo JSON, donde los campos pueden variar de un documento a otro. No requiere un esquema predefinido, y la estructura de los datos puede cambiarse con el tiempo.

En este tutorial, cubriremos el proceso de instalación y configuración de la última versión de MongoDB Community Edition en una máquina Ubuntu 18.04 desde los repositorios oficiales de MongoDB.

Requisitos previos #

Antes de continuar con este tutorial, asegúrate de haber iniciado sesión como usuario con privilegios sudo.

Instalación de MongoDB #

En el momento de escribir este artículo, la última versión de MongoDB es la versión 4.0.

Antes de continuar con el proceso de instalación, dirígete a la sección Install on Ubuntusection de la documentación de MongoDB, y comprueba si hay una nueva versión disponible.

Los siguientes pasos describen cómo instalar MongoDB en su servidor Ubuntu:

  1. Añada la clave GPG de MongoDB a su sistema utilizando el siguiente comando:

    sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4

    Una vez importada la clave, añada el repositorio de MongoDB con:

    sudo add-apt-repository 'deb https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse'

    Si obtiene un mensaje de error que dice add-apt-repository command not found, instale el paquete software-properties-common.

    Para instalar una versión anterior de MongoDB, sustituya 4.0 por su versión preferida.

  2. Actualice la lista de paquetes e instale el metapaquete mongodb-org escribiendo:

    sudo apt updatesudo apt install mongodb-org

    Los siguientes paquetes se instalarán en su sistema como parte del paquete mongodb-org:

    • mongodb-org-server – El demonio mongod y los correspondientes scripts init y configuraciones.
    • mongodb-org-mongos – El demonio mongos.
    • mongodb-org-shell – El mongo shell es una interfaz interactiva de JavaScript para MongoDB. Se utiliza para realizar tareas administrativas a través de la línea de comandos.
    • mongodb-org-tools – Contiene varias herramientas de MongoDB para importar y exportar datos, estadísticas, así como otras utilidades.
  3. Una vez completada la instalación, inicie el demonio de MongoDB y permita que se inicie al arrancar escribiendo:

    sudo systemctl start mongodsudo systemctl enable mongod
  4. Para verificar si la instalación se ha completado con éxito, nos conectaremos al servidor de bases de datos MongoDB utilizando la herramienta mongo e imprimiremos el estado de la conexión:

    mongo --eval 'db.runCommand({ connectionStatus: 1 })'

    La salida tendrá el siguiente aspecto:

    MongoDB shell version v4.0.10connecting to: mongodb://127.0.0.1:27017MongoDB server version: 4.0.10{ "authInfo" : { "authenticatedUsers" : , "authenticatedUserRoles" : }, "ok" : 1}

    Un valor de 1 para el campo ok indica éxito.

Configuración de MongoDB #

MongoDB utiliza un archivo de configuración con formato YAML, /etc/mongod.conf . Puede configurar su instancia de MongoDB editando este archivo.

Los ajustes de configuración por defecto son suficientes para la mayoría de los usuarios. Sin embargo, para entornos de producción, se recomienda descomentar la sección de seguridad y habilitar la autorización, como se muestra a continuación:

/etc/mongod.conf
security: authorization: enabled

La opción authorization habilita el Control de Acceso Basado en Roles (RBAC)que regula el acceso de los usuarios a los recursos y operaciones de la base de datos. Si esta opción está deshabilitada cada usuario tendrá acceso a todas las bases de datos y realizará cualquier acción.

Después de realizar los cambios en el archivo de configuración de MongoDB, reinicie el servicio mongod con:

sudo systemctl restart mongod

Para encontrar más información sobre las opciones de configuración disponibles en MongoDB 4.0, visite la página de documentación de las opciones del archivo de configuración.

Creación del usuario administrativo de MongoDB #

Si ha habilitado la autenticación de MongoDB, cree un usuario administrativo de MongoDB que se utilizará para acceder y gestionar la instancia de MongoDB.

Primero, accede al shell de mongo con:

mongo

Una vez que estés dentro del shell de MongoDB escribe el siguiente comando para conectarte a la base de datos admin:

use admin
switched to db admin

Ejecuta el siguiente comando para crear un nuevo usuario llamado mongoAdmin con el rol userAdminAnyDatabase:

db.createUser( { user: "mongoAdmin", pwd: "changeMe", roles: })
Successfully added user: {"user" : "mongoAdmin","roles" : }
Puedes nombrar al usuario administrativo de MongoDB como quieras.

Salga de la shell de mongo con:

quit()

Para probar los cambios, acceda a la shell de mongo utilizando el usuario administrativo que ha creado previamente:

mongo -u mongoAdmin -p --authenticationDatabase admin
use admin
switched to db admin

Ahora, imprima los usuarios con:

show users
{"_id" : "admin.mongoAdmin","user" : "mongoAdmin","db" : "admin","roles" : ,"mechanisms" : }

También puedes intentar acceder a la shell de mongo sin ningún argumento ( sólo escribe mongo) y ver si puedes listar los usuarios usando los mismos comandos anteriores.

Conclusión #

Ha aprendido a instalar y configurar MongoDB 4.0 en su servidor Ubuntu 18.04. Visite el Manual de MongoDB 4.0para obtener más información sobre este tema.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.