Wie man MongoDB auf Rocky Linux 8 installiert und verwendet

MongoDB ist ein objektorientierter, schemafreier NoSQL-Datenbankserver, der für die Entwicklung moderner dynamischer Anwendungen verwendet wird. Das bedeutet, dass Datenobjekte als separate Dokumente in einer Sammlung gespeichert werden, im Gegensatz zu traditionellen relationalen Datenbanken, in denen Zeilen und Spalten verwendet werden. MongoDB ermöglicht ein schnelles Traversieren von verschachtelten Datenobjekten, ohne dass Joins erforderlich sind, was die Leistung erheblich verbessert.

MongoDB ist in C++ geschrieben, um eine hohe Skalierbarkeit und Flexibilität zu gewährleisten und Entwicklern eine einfache Abfrage und Indizierung zu ermöglichen. Außerdem bietet es ein Aggregations-Framework, das die Abfrage komplexer dokumentenbasierter Datensätze erleichtert.

MongoDB hat eine große und lebendige Community und bietet umfangreiche und leistungsstarke integrierte Funktionen wie MapReduce, Auto-Sharding und andere.

MongoDB läuft auf allen wichtigen Betriebssystemplattformen wie Linux, Windows, Solaris und Mac OS X. Es unterstützt auch viele Distributionen wie Red Hat Enterprise Linux (RHEL), CentOS, Ubuntu usw.

In dieser Anleitung wird beschrieben, wie du die NoSQL-Datenbank MongoDB auf Rocky Linux 8 installierst.

Voraussetzungen

  • Ein neuer Server mit Rocky Linux 8 und mindestens 10 GB freiem Speicherplatz
  • Ein Nicht-Root-Benutzer mit sudo-Rechten auf dem Server

Aktualisiere das System

Melde dich als root oder sudo-Benutzer am System an, je nachdem, welche Rechte du hast, und aktualisiere das System mit dem folgenden Befehl.

sudo dnf update -y

Installation von MongoDB

Das MongoDB-Paket ist nicht in den Standard-Repositories für Rocky Linux 8 enthalten, da es nicht als Teil des „Basissystems“ betrachtet wird. Daher musst du das Repository mit dem Paket hinzufügen, bevor du MongoDB installierst.

MongoDB gibt es in zwei Editionen: die Community Edition und die Enterprise Edition. Die Community Edition ist kostenlos, während die Enterprise Edition zusätzliche Funktionen bietet. Diese Anleitung bezieht sich auf die Community-Edition.

Führe den folgenden Befehl aus, um das MongoDB-Repository auf deinem System hinzuzufügen.

cat > /etc/yum.repos.d/mongodb.repo << 'EOL'
[mongodb-org-4.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc
EOL

Sobald das Repository aktiviert ist, führst du den folgenden Befehl aus, um die MongoDB Community Edition zu installieren.

sudo dnf update
sudo dnf install mongodb-org

mongodb installieren

Sobald die Installation abgeschlossen ist, überprüfe die installierte Version wie folgt.

mongod --version

mongod --version

Der MongoDB-Dienst wird nach der Installation nicht automatisch gestartet. Du kannst dies überprüfen, indem du den folgenden Befehl ausführst.

sudo systemctl status mongod

Die Ausgabe sollte ähnlich wie die untenstehende aussehen:

Status Mongo

Da der Dienst nicht gestartet wurde, starte ihn manuell, indem du den folgenden Befehl ausführst.

sudo systemctl start mongodb

Um den automatischen Start von MongoDB beim Booten zu aktivieren, führe den folgenden Befehl aus.

sudo systemctl enable mongodb

Jetzt ist MongoDB auf dem Server installiert und konfiguriert. Überprüfe den Status des MongoDB-Dienstes wie folgt.

sudo systemctl status mongod

Status Mongo

MongoDB ausführen

Der MongoDB-Dienst wird als Daemon mongod ausgeführt. Der mongod-Prozess läuft im Hintergrund als Nicht-Root-Benutzer. MongoDB verwendet /var/lib/mongo als Standard-Datenverzeichnis und /var/log/mongodb für die Log-Informationen.

Wenn du vermutest, dass MongoDB nicht richtig läuft, kannst du die Protokolldatei auf Fehler überprüfen.

tail /var/log/mongodb/mongod.log

Du solltest eine Zeile sehen können, die anzeigt, dass MongoDB bereit ist und auf Verbindungen wartet.

mongod log file

MongoDB bietet eine Shell-Schnittstelle, mit der du direkt auf die Daten zugreifen kannst.

Um auf die MongoDB-Shell zuzugreifen, führst du den folgenden Befehl von einer beliebigen Terminalsitzung auf dem Server aus.

mongo

Mongo-Shell

Von der Shell-Oberfläche aus kannst du den folgenden Befehl ausführen, um die Datenbanken anzuzeigen, die sich derzeit auf deinem System befinden. Standardmäßig bietet MongoDB eine Datenbank namens test.

db

mongo shell show db

Eine neue Datenbank erstellen

Um eine neue MongoDB-Datenbank zu erstellen, wechselst du mit dem use-Befehl und dem Namen deiner neuen Datenbank zu der neuen Datenbank. Wir werden eine Datenbank namens test-db erstellen.

use test-db

Um Daten in deine neue Datenbank einzufügen, führe den folgenden Befehl von einer beliebigen Terminalsitzung auf dem Server aus. Der folgende Befehl erstellt eine Sammlung von Dokumenten (Datenstruktur in MongoDB).

db.linux.insertOne(
  { "ubuntu" : "20.04",
   "centos" : "8",
   "debian" : "10"
  }
)

Drücke Enter, um die Daten einzufügen.

Datenbank einfügen

So zeigst du die Dokumente in deiner Datenbank an

show collections

Datenbank anzeigen

Um den Inhalt deiner Datenbanksammlung anzuzeigen, führe den folgenden Befehl aus

db.linux.find()

Datenbankinhalt anzeigen

Einen Benutzer erstellen

Wir werden einen Benutzer namens admin mit Lese-/Schreibrechten anlegen.

db.createUser(
  {
   user: 'admin ',
   pwd: '$trongP@ssWord',
   roles: [ { role: 'readWrite', db: 'test-db' } ]
  }
 );

Drücke Enter, um den neuen Benutzer hinzuzufügen

Hinzufügen eines neuen Benutzers

Alle Benutzer auflisten

db.getUsers()

Datenbankbenutzer auflisten

Um die MongoDB-Datenbank zu verlassen

exit

Fazit

In diesem Leitfaden haben wir MongoDB unter Rocky Linux 8 installiert und konfiguriert. Außerdem haben wir besprochen, wie man MongoDB mit dem dnf-Befehl installiert, den MongoDB-Dienst startet, stoppt, aktiviert und seinen Status überprüft sowie die Mongo Shell-Schnittstelle verwendet, um Befehle für die Interaktion mit einer MongoDB-Datenbank auszuführen. Wir hoffen, dass dieser Leitfaden für dich nützlich ist.

Das könnte dich auch interessieren …