Wie verwaltet man MongoDB unter Linux?

Popular:
VERBESSERE DEINEN SERVER-SETUP! WENDEN SIE AVA AN UND STARTE MIT EINEM 15% RABATT
VERWENDE PROMO:

Die Verwaltung von MongoDB auf einem Linux-VPS umfasst Installation, Konfiguration, Sicherheit und Leistungsoptimierung.

1. Installation von MongoDB auf einem Linux VPS

MongoDB kann mit Paketmanagern wie apt (für Debian/Ubuntu) oder yum (für CentOS/RHEL) installiert werden.

Für Ubuntu/Debian

  1. Aktualisieren Sie die Paketliste:
    sudo apt update
sudo apt upgrade -y
  • MongoDB GPG-Schlüssel importieren:
    curl -fsSL https://www.mongodb.org/static/pgp/server-6.0.asc | sudo gpg --dearmor -o /usr/share/keyrings/mongodb-server-keyring.gpg
  • **Führen Sie den folgenden Befehl aus, um den fehlenden öffentlichen Schlüssel hinzuzufügen:

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

    **Führen Sie diesen Befehl aus, um den Schlüssel manuell zu importieren:

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

    Prüfen Sie, ob der Schlüssel erfolgreich hinzugefügt wurde:

    gpg --dry-run --quiet --import --import-options import-show /etc/apt/trusted.gpg.d/mongodb-server
  • Fügen Sie das MongoDB-Repository hinzu:
    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
  • Installieren Sie MongoDB:
    sudo apt update
    sudo apt install -y mongodb-org
  • Starten und Aktivieren von MongoDB:
    sudo systemctl start mongod
    sudo systemctl enable mongod
  • Für CentOS/RHEL

    1. Fügen Sie das MongoDB-Repository hinzu:
      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. MongoDB installieren:
      sudo yum install -y mongodb-org
    3. Starten und Aktivieren von MongoDB:
      sudo systemctl start mongod
      sudo systemctl enable mongod

    2. MongoDB absichern

    Standardmäßig lauscht MongoDB auf localhost (127.0.0.1). Um es zu sichern:

    Aktivieren Sie die Authentifizierung

    1. Erstellen Sie einen Admin-Benutzer:
      mongosh
      use admin
      db.createUser({
      user: "admin",
      pwd: "StrongPassword",
      roles: [{ role: "root", db: "admin" }]
      })
    2. Aktivieren Sie die Authentifizierung in der MongoDB-Konfigurationsdatei:
      sudo nano /etc/mongod.conf

      Suchen Sie den Abschnitt security und fügen Sie hinzu:

      security:
      authorization: enabled
    3. Starten Sie MongoDB neu:
      sudo systemctl restart mongod

    Externen Zugriff einschränken

    1. Ändern Sie MongoDB so, dass es nur auf localhost hört:
      sudo nano /etc/mongod.conf

      Ändern:

      bindIp: 127. 0.0.1
    2. Verwenden Sie UFW (Ubuntu) oder FirewallD (CentOS), um nur bestimmte IPs zuzulassen:
      sudo ufw allow from YOUR_IP to any port 27017

    3. MongoDB verwalten

    Status des MongoDB-Dienstes prüfen

    sudo systemctl status mongod

    MongoDB neu starten

    sudo systemctl restart mongod

    MongoDB anhalten

    sudo systemctl stop mongod

    Aktivieren von MongoDB zum Starten beim Booten

    sudo systemctl enable mongod

    4. Datenbanken in MongoDB verwalten

    Verbindung zu MongoDB herstellen

    mongosh

    Eine Datenbank erstellen

    use mydatabase

    Datenbanken anzeigen

    show dbs

    Eine Sammlung erstellen

    db.createCollection("users")

    Daten einfügen

    db.users.insertOne({ Name: "John Doe", Alter: 30, E-Mail: "john@example.com" })

    Daten suchen

    db.users.find()

    Eine Datenbank löschen

    use mydatabase
    db.dropDatabase()

    5. Sichern und Wiederherstellen

    Sicherung der MongoDB-Datenbank

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

    MongoDB-Datenbank wiederherstellen

    mongorestore --db=mydatabase /backup/mydatabase/

    6. Optimierung der Leistung

    Indizierung für schnellere Abfragen

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

    Überwachung der Leistung

    db.serverStatus()

    Speichernutzung begrenzen

    Ändern Sie wiredTigerCacheSizeGB in /etc/mongod.conf:

    storage:
    wiredTiger:
    engineConfig:
    cacheSizeGB: 1

    Verbindungspooling verwenden

    Ändern Sie /etc/mongod.conf:

    net:
    maxIncomingConnections: 1000

    7. Logs und Fehlersuche

    MongoDB-Protokolle anzeigen

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

    Fehlerprotokolle prüfen

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

    8. MongoDB deinstallieren (falls erforderlich)

    Für Ubuntu/Debian

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

    Für CentOS/RHEL

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

    Schlussfolgerung

    Die Verwaltung von MongoDB auf einem Linux-VPS erfordert eine ordnungsgemäße Installation, Sicherheitshärtung und Leistungsoptimierung. Wenn Sie diese Schritte befolgen, können Sie sicherstellen, dass Ihre MongoDB-Datenbank effizient und sicher läuft. 🚀

    Benötigen Sie Hilfe bei Automatisierungsskripten für die Verwaltung von MongoDB? 😊