MongoDB es una base de datos de código abierto orientada a documentos diseñada teniendo en cuenta tanto la escalabilidad como la agilidad del desarrollador. En lugar de almacenar sus datos en tablas y filas como lo haría con una base de datos relacional, en MongoDB, almacena documentos similares a JSON con esquemas dinámicos.
El objetivo de MongoDB es cerrar la brecha entre los almacenes de clave-valor (que son rápidos y escalables) y las bases de datos relacionales (que tienen una rica funcionalidad).
Aquí veremos cómo instalar MongoDB en CentOS 7 / RHEL 7.
Añadir repositorio MongoDB
MongoDB proporciona paquetes para el sistema operativo CentOS/RHEL desde su repositorio dedicado.
Agregue el repositorio MongoDB en su sistema.
vi /etc/yum.repos.d/mongodb.repo
Agregue la siguiente información al archivo de repositorio anterior.
MongoDB 4.4
[mongodb-org-4.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/7Server/mongodb-org/4.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc
MongoDB 4.2
[mongodb-org-4.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc
MongoDB 4.0
[mongodb-org-4.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc
Instalar MongoDB
Una vez que haya agregado el repositorio de MongoDB, ejecute el siguiente comando para instalar MongoDB.
yum -y install mongodb-org
mongob-org (Metapaquete que se instala debajo de los componentes) |
mongodb-org-servidor | Paquete de servidor |
mongodb-org-mongos | Demonio compartido |
mongodb-org-shell | Interfaz de línea de comandos |
mongodb-org-herramientas | Herramientas MongoDB (importar, exportar, restaurar, volcar y otras herramientas) |
Después de la instalación
Usuario administrador
MongoDB no viene con ningún mecanismo de autenticación para restringir el acceso de los usuarios. Para mejorar la seguridad, cree un usuario administrador para administrar las bases de datos.
Control de acceso
Después de crear un usuario administrador, edite el archivo de configuración de MongoDB para habilitar la autenticación.
vi /etc/mongod.conf
Luego, agregue las siguientes líneas al archivo mongod.conf.
security:
authorization: enabled
Desactivar páginas enormes
MongoDB recomienda que se deshabiliten las páginas grandes, ya que causa el problema de rendimiento. Por lo tanto, continúe y deshabilite las páginas grandes transparentes.
SELinux
Le recomendamos que desactive SELinux en CentOS 7/RHEL 7. Si aún desea utilizar SELinux, debe personalizar la política de SELinux para MongoDB.
Servicio de control MongoDB
Para iniciar el servicio MongoDB, ejecute:
systemctl start mongod
Para verificar el estado del servicio MongoDB, ejecute:
systemctl status mongod
Salida:
● mongod.service - MongoDB Database Server
Loaded: loaded (/usr/lib/systemd/system/mongod.service; enabled; vendor preset: disabled)
Active: active (running) since Mon 2020-08-03 15:05:50 EDT; 2s ago
Docs: https://docs.mongodb.org/manual
Process: 1806 ExecStart=/usr/bin/mongod $OPTIONS (code=exited, status=0/SUCCESS)
Process: 1804 ExecStartPre=/usr/bin/chmod 0755 /var/run/mongodb (code=exited, status=0/SUCCESS)
Process: 1801 ExecStartPre=/usr/bin/chown mongod:mongod /var/run/mongodb (code=exited, status=0/SUCCESS)
Process: 1800 ExecStartPre=/usr/bin/mkdir -p /var/run/mongodb (code=exited, status=0/SUCCESS)
Main PID: 1809 (mongod)
CGroup: /system.slice/mongod.service
└─1809 /usr/bin/mongod -f /etc/mongod.conf
Aug 03 15:05:49 centos7.itzgeek.local systemd[1]: Starting MongoDB Database Server...
Aug 03 15:05:49 centos7.itzgeek.local mongod[1806]: about to fork child process, waiting until server is ready for connections.
Aug 03 15:05:49 centos7.itzgeek.local mongod[1806]: forked process: 1809
Aug 03 15:05:50 centos7.itzgeek.local systemd[1]: Started MongoDB Database Server.
Compruebe la versión de MongoDB.
mongod --version
Salida:
db version v4.4.0
Build Info: {
"version": "4.4.0",
"gitVersion": "563487e100c4215e2dce98d0af2a6a5a2d67c5cf",
"openSSLVersion": "OpenSSL 1.0.1e-fips 11 Feb 2013",
"modules": [],
"allocator": "tcmalloc",
"environment": {
"distmod": "rhel70",
"distarch": "x86_64",
"target_arch": "x86_64"
}
}
Use el comando netstat para verificar si MongoDB está escuchando en el puerto 27017.
netstat -antup | grep -i 27017
Salida:
tcp 0 0 127.0.0.1:27017 0.0.0.0:* LISTEN 1809/mongod
LEER:Comando netstat no encontrado en CentOS 7/RHEL 7 – Solución rápida
Acceder a MongoDB
Conéctese al shell de MongoDB ingresando el siguiente comando.
mongo
Salida:
[root@centos7 ~]# mongo
MongoDB shell version v4.4.0
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("68e2f93f-f60c-45de-a9ef-4f5dea620a4a") }
MongoDB server version: 4.4.0
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
https://docs.mongodb.com/
Questions? Try the MongoDB Developer Community Forums
https://community.mongodb.com
>
Conclusión
Eso es todo. Espero que haya aprendido a instalar MongoDB en CentOS 7/RHEL 7. Comparta sus comentarios en la sección de comentarios.