¿Cómo administrar MongoDB en Linux?

Popular:
¡MEJORA LA CONFIGURACIÓN DE TU SERVIDOR! APLICAR AVA Y LANZA CON UN 15% DE DESCUENTO
USA EL CÓDIGO PROMOCIONAL:

Gestionar MongoDB en un Linux VPS implica instalación, configuración, seguridad y optimización del rendimiento.

Gestionar MongoDB en un Linux VPS es esencial para desarrolladores y administradores de sistemas que buscan aprovechar todo el potencial de esta potente base de datos NoSQL. Desde la instalación y configuración hasta la seguridad y la optimización del rendimiento, una configuración de MongoDB bien gestionada garantiza fiabilidad, escalabilidad y eficiencia para sus aplicaciones.

Siguiendo los pasos completos descritos en nuestra guía, puede asegurarse de que su instancia de MongoDB no solo esté operativa, sino también segura y optimizada para el rendimiento. Implementar las mejores prácticas en instalación, autenticación, control de acceso y gestión de recursos proporcionará una base sólida para sus aplicaciones basadas en datos. La supervisión y el mantenimiento regulares garantizan además que su base de datos siga siendo receptiva y resistente a las demandas cambiantes.

Para quienes buscan agilizar la gestión de MongoDB, considere aprovechar herramientas de automatización y scripts para manejar tareas rutinarias de manera eficiente. Además, explorar interfaces gráficas como MongoDB Compass o NoSQLBooster puede simplificar las interacciones con la base de datos, especialmente para consultas complejas y visualización de datos. Al integrar estas herramientas en su flujo de trabajo, puede mejorar la productividad y mantener un entorno de MongoDB de alto rendimiento.
Baeldung.

1. Instalando MongoDB en Linux VPS

MongoDB se puede instalar usando gestores de paquetes como apt (para Debian/Ubuntu) o yum (para CentOS/RHEL).

Para Ubuntu/Debian

  1. Actualizar la lista de paquetes:
    sudo apt update 
sudo apt upgrade -y
  • Importar la clave GPG de MongoDB:
    curl -fsSL https://www.mongodb.org/static/pgp/server-6.0.asc | sudo gpg --dearmor -o /usr/share/keyrings/mongodb-server-keyring.gpg
  • **Ejecute el siguiente comando para añadir la clave pública faltante:

    sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys B00A0BD1E2C63C11
    o

    **Ejecute este comando para importar manualmente la clave:

    wget -qO - https://pgp.mongodb.com/server-5.0.asc | sudo tee /etc/apt/trusted.gpg.d/mongodb-server-5.0.

    Compruebe si la clave se añadió correctamente:

    gpg --dry-run --quiet --import --import-options import-show /etc/apt/trusted.gpg.d/mongodb-server
  • Añadir el repositorio de MongoDB:
    Ubuntu:
    echo "deb [signed-by=/usr/share/keyrings/mongodb-server-keyring.gpg] https://repo.mongodb.org/apt/ubuntu $(lsb_release -cs)/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list

    Debian:

    echo "deb [signed-by=/etc/apt/trusted.gpg.d/mongodb-server-5.0.asc] https://repo.mongodb.org/apt/debian bullseye/mongodb-org/5.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list
  • Instalar MongoDB:
    sudo apt update
    sudo apt install -y mongodb-org
  • Iniciar y habilitar MongoDB:
    sudo systemctl start mongod
    sudo systemctl enable mongod
  • Para CentOS/RHEL

    1. Añadir el repositorio de MongoDB:
      sudo tee /etc/yum.repos.d/mongodb-org-6.0.repo <<EOF
      [mongodb-org-6.0]
      name=MongoDB Repository
      baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/6.0/x86_64/
      gpgcheck=1
      enabled=1
      gpgkey=https://www.mongodb.org/static/pgp/server-6.0.asc
      EOF
    2. Instalar MongoDB:
      sudo yum install -y mongodb-org
    3. Iniciar y habilitar MongoDB:
      sudo systemctl start mongod
      sudo systemctl enable mongod

    2. Protegiendo MongoDB

    De forma predeterminada, MongoDB escucha en localhost (127.0.0.1). Para protegerlo:

    Habilitar autenticación

    1. Crear un usuario administrador:
      mongosh
      use admin
      db.createUser({
      user: "admin",
      pwd: "StrongPassword",
      roles: [{ role: "root", db: "admin" }]
      })
    2. Habilitar autenticación en el archivo de configuración de MongoDB:
      sudo nano /etc/mongod.conf

      Busque la sección security y añada:

      security:
      authorization: enabled
    3. Reiniciar MongoDB:
      sudo systemctl restart mongod

    Restringir el acceso externo

    1. Modificar MongoDB para escuchar solo en localhost:
      sudo nano /etc/mongod.conf

      Cambiar:

      bindIp: 127.0.0.1
    2. Usar UFW (Ubuntu) o FirewallD (CentOS) para permitir solo IPs específicas:
      sudo ufw allow from YOUR_IP to any port 27017

    3. Gestionando MongoDB

    Comprobar el estado del servicio MongoDB

    sudo systemctl status mongod

    Reiniciar MongoDB

    sudo systemctl restart mongod

    Detener MongoDB

    sudo systemctl stop mongod

    Habilitar MongoDB para iniciar al arrancar

    sudo systemctl enable mongod

    4. Gestionando bases de datos en MongoDB

    Conectarse a MongoDB

    mongosh

    Crear una base de datos

    use mydatabase

    Mostrar bases de datos

    show dbs

    Crear una colección

    db.createCollection("users")

    Insertar datos

    db.users.insertOne({ name: "John Doe", age: 30, email: "john@example.com" })

    Buscar datos

    db.users.find()

    Eliminar una base de datos

    use mydatabase
    db.dropDatabase()

    5. Copias de seguridad y restauraciones

    Respaldar la base de datos MongoDB

    mongodump --db=mydatabase --out=/backup/

    Restaurar la base de datos MongoDB

    mongorestore --db=mydatabase /backup/mydatabase/

    6. Optimización del rendimiento

    Indexación para consultas más rápidas

    db.users.createIndex({ email: 1 })

    Supervisar el rendimiento

    db.serverStatus()

    Limitar el uso de memoria

    Modifique wiredTigerCacheSizeGB en /etc/mongod.conf:

    storage:
    wiredTiger:
    engineConfig:
    cacheSizeGB: 1

    Usar agrupación de conexiones

    Modifique /etc/mongod.conf:

    net:
    maxIncomingConnections: 1000

    7. Registros y depuración

    Ver los registros de MongoDB

    sudo journalctl -u mongod --no-pager | tail -n 50

    Comprobar los registros de errores

    sudo cat /var/log/mongodb/mongod.log

    8. Desinstalar MongoDB (si es necesario)

    Para Ubuntu/Debian

    sudo systemctl stop mongod
    sudo apt purge -y mongodb-org*
    sudo rm -r /var/log/mongodb /var/lib/mongodb

    Para CentOS/RHEL

    sudo systemctl stop mongod
    sudo yum remove -y mongodb-org*
    sudo rm -r /var/log/mongodb /var/lib/mongodb

    Conclusión

    Gestionar MongoDB en un Linux VPS requiere una instalación adecuada, endurecimiento de la seguridad y optimización del rendimiento. Siguiendo estos pasos, se asegura de que su base de datos MongoDB funcione de manera eficiente y segura. 🚀

    ¿Le gustaría ayuda con scripts de automatización para gestionar MongoDB? 😊