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 gratuito y de código abierto y viene con un conjunto de características interesantes e ingeniosas como almacenamiento de archivos, replicación de datos, consultas ad-hoc y equilibrio de carga, solo por mencionar algunas. Algunas de las empresas de primera línea que han incorporado MongoDB en sus aplicaciones incluyen Adobe, Facebook, Google, eBay y Coinbase.
En este tutorial, aprenderá cómo instalar MongoDB en CentOS 8.
Paso 1: agregar el repositorio MongoDB
Dado que MongoDB no está presente en el repositorio predeterminado de CentOS 8, lo agregaremos manualmente. Primero, 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 al arrancar ejecutando los siguientes comandos.
systemctl start mongod
sudo systemctl enable mongod
Para verificar el estado de MongoDB, ejecute:
systemctl status mongod
Alternativamente, puede utilizar 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 al shell de MongoDB
Ahora puede acceder al shell de MongoDB simplemente emitiendo el comando:
mongo
Debería obtener un resultado similar al que se muestra en la captura de pantalla siguiente.
Crear usuario administrador de MongoDBan
Ahora cambiemos de tema y creemos un usuario administrador.
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: "P@ssword@2019",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
Si tiene éxito, debería obtener el siguiente resultado.
Successfully added user: {
"user" : "mongod_admin",
"roles" : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
}
]
}
Para enumerar los usuarios de MongoDB creados, ejecute.
> show users
Configurar la autenticación para MongoDB
Tal como están las cosas, todos los usuarios pueden acceder al shell y ejecutar cualquier comando, lo cual no se recomienda en absoluto por motivos de seguridad. Con eso en mente, 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]
, ubique y edite el parámetro Entorno como se muestra.
Environment="OPTIONS= --auth -f /etc/mongod.conf"
Guarde y salga del archivo de configuración.
Para que los cambios entren en vigor, 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 recibir un error como se muestra.
Para autenticarse, simplemente pase las credenciales como se muestra.
> db.auth('mongod_admin', 'P@ssword@2019')
Ahora puedes ejecutar cualquier comando después de eso. Intentemos enumerar a los usuarios una vez más:
> show users
Esta vez todo salió bien ya que se proporcionaron las credenciales de autenticación.
Para salir del motor de base de datos, ejecute.
> exit
Y eso es todo por hoy. Esperamos que ahora se sienta cómodo instalando MongoDB4 en su sistema CentOS 8 y comenzando con algunos pasos necesarios.