Cómo instalar MongoDB 4 en CentOS 8


MongoDB es un popular motor de base de datos NoSQL de uso general y basado en documentos que almacena datos en formato JSON. Es gratis y de código abierto y se envía con un conjunto de características geniales e ingeniosas, como almacenamiento de archivos, replicación de datos, consultas ad-hoc y balanceo de carga, solo por mencionar algunas. Algunas de las empresas líderes que han incorporado MongoDB en sus aplicaciones son Adobe, Facebook, Google, eBay y Coinbase.

En este tutorial, aprenderá a instalar MongoDB en CentOS 8.

Paso 1: Agregar repositorio de MongoDB

Dado que MongoDB no está presente en el repositorio predeterminado de CentOS 8, lo agregaremos manualmente. Entonces, en primer lugar, cree un archivo de repositorio como se muestra.

# vi /etc/yum.repos.d/mongodb.repo

Pegue la configuración a continuación y guarde el archivo.

[mongodb-org-4.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/development/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc

Paso 2: Instale MongoDB en CentOS 8

Habiendo habilitado el repositorio, el siguiente paso será instalar MongoDB usando el siguiente comando dnf.

# dnf install mongodb-org

A continuación, inicie y habilite MongoDB para que se inicie en el arranque ejecutando los siguientes comandos.

# systemctl start mongod
# sudo systemctl enable mongod

Para verificar el estado de MongoDB, ejecute:

# systemctl status mongod

Alternativamente, puede usar la utilidad netstat para confirmar que efectivamente el servicio Mongod está escuchando.

# netstat -pnltu

¡Excelente! hemos confirmado que MongoDB está en funcionamiento.

Paso 3: Acceda a MongoDB Shell

Ahora puede acceder al shell de MongoDB simplemente emitiendo el comando:

# mongo

Debería obtener una salida similar a la que se muestra en la captura de pantalla a continuación.

Siempre es un buen consejo crear un usuario administrador con privilegios elevados para realizar tareas elevadas. Para hacerlo, primero acceda al shell de MongoDB:

# mongo

A continuación, cambie al administrador de la base de datos ejecutando.

> use admin

Ahora cree un nuevo usuario de MongoDB ejecutando el siguiente código.

> db.createUser(
 {
 user: "mongod_admin",
 pwd: "[email protected]@2019",
 roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
 }
 )

Si tiene éxito, debería obtener el resultado a continuación.

Successfully added user: {
	"user" : "mongod_admin",
	"roles" : [
		{
			"role" : "userAdminAnyDatabase",
			"db" : "admin"
		}
	]
}

Para enumerar los usuarios de MongoDB creados, ejecute.

> show users

Tal como está, todos los usuarios pueden acceder al shell y ejecutar cualquier comando, lo que no se recomienda en absoluto por motivos de seguridad. Teniendo esto en cuenta, necesitamos crear autenticación para el usuario administrador que acabamos de crear para evitar que otros usuarios ejecuten comandos sin autorización.

Para habilitar la autenticación, edite el archivo /lib/systemd/system/mongod.service, en la sección [Service] , busque y edite el parámetro Environment como se muestra.

Environment="OPTIONS= --auth -f /etc/mongod.conf"

Guarde y salga del archivo de configuración.

Para que los cambios surtan efecto, vuelva a cargar el sistema y reinicie MongoDB.

# systemctl daemon-reload
# systemctl restart mongod

Si ahora intenta enumerar los usuarios sin autenticación, debería obtener un error como se muestra.

Para autenticarse, simplemente pase las credenciales como se muestra.

> db.auth('mongod_admin', '[email protected]@2019')

Ahora puede ejecutar cualquier comando después de eso. Intentemos enumerar a los usuarios una vez más:

> show users

Esta vez, todo salió bien desde que se proporcionaron las credenciales de autenticación.

Para salir del motor de la base de datos, ejecute.

> exit

Y eso es todo por hoy. Esperamos que a estas alturas se sienta cómodo instalando MongoDB4 en su sistema CentOS 8 y comience con algunos pasos necesarios.