MongoDB ist ein quelloffenes, modernes Dokumentendatenbank-Managementsystem, das auf hochleistungsfähige Datenpersistenz, hohe Verfügbarkeit sowie automatische Skalierung basierend auf der neuesten Technologie von NoSQL ausgelegt ist . Unter MongoDB , ist ein Datensatz ein Dokument, bei dem es sich um eine Datenstruktur handelt, die aus Feld- und Wertepaaren besteht (MongoDB-Dokumente sind mit JSON-Objekten vergleichbar).
Da es hohe Leistung und hervorragende Skalierbarkeitsfunktionen bietet, wird es zum Erstellen moderner Anwendungen verwendet, die leistungsstarke, geschäftskritische und hochverfügbare Datenbanken erfordern.
In diesem Artikel erklären wir, wie Sie MongoDB installieren , seinen Dienst verwalten und die grundlegende Authentifizierung auf Ubuntu 18.04 einrichten .
Wichtig :Sie sollten beachten, dass die Entwickler von MongoDB bieten nur Pakete für 64-Bit-LTS an (langfristige Unterstützung) Ubuntu-Releases wie 14.04 LTS (vertrauenswürdig), 16.04 LTS (xenial) und so weiter.
Schritt 1:Installation von MongoDB auf Ubuntu 18.04
1. Die offiziellen Softwarepaket-Repositories von Ubuntu enthalten die neueste Version von MongoDB , und kann einfach mit dem APT-Paketmanager installiert werden.
Aktualisieren Sie zuerst den Cache des Systemsoftwarepakets, um die neueste Version der Repository-Auflistungen zu erhalten.
$ sudo apt update
2. Installieren Sie als Nächstes das MongoDB-Paket, das mehrere andere Pakete wie mongo-tools enthält , mongodb-clients , mongodb-server und mongodb-server-core .
$ sudo apt install mongodb
3. Nach erfolgreicher Installation startet der MongoDB-Dienst automatisch über systemd und der Prozess lauscht auf Port 27017 . Sie können seinen Status wie gezeigt mit dem Befehl systemctl überprüfen.
$ sudo systemctl status mongodb
Schritt 2:Verwalten des MongoDB-Dienstes
4. Die MongoDB Die Installation wird als systemd-Dienst bereitgestellt und kann wie gezeigt einfach über Standard-systemd-Befehle verwaltet werden.
Führen Sie den folgenden Befehl aus, um die Ausführung des MongoDB-Dienstes zu beenden.
$ sudo systemctl stop mongodb
Um einen MongoDB-Dienst zu starten, geben Sie den folgenden Befehl ein.
$ sudo systemctl start mongodb
Um einen MongoDB-Dienst neu zu starten, geben Sie den folgenden Befehl ein.
$ sudo systemctl restart mongodb
Um den automatisch gestarteten MongoDB-Dienst zu deaktivieren, geben Sie den folgenden Befehl ein.
$ sudo systemctl disable mongodb
Um den MongoDB-Dienst wieder zu aktivieren, geben Sie den folgenden Befehl ein.
$ sudo systemctl enable mongodb
Schritt 3:Remote-MongoDB-Zugriff auf Firewall aktivieren
5. Standardmäßig MongoDB läuft auf Port 27017 , um den Zugriff von überall her zu ermöglichen.
$ sudo ufw allow 27017
Aber den Zugriff auf MongoDB aktivieren von überall gibt uneingeschränkten Zugriff auf die Datenbankdaten. Daher ist es besser, dem Standardport von MongoDB mit dem folgenden Befehl Zugriff auf eine bestimmte IP-Adresse zu gewähren.
$ sudo ufw allow from your_server_IP/32 to any port 27017 $ sudo ufw status
6. Standardmäßig der Port 27017 Er lauscht auf der lokalen Adresse 127.0.0.1 nur. Um Remote-MongoDB-Verbindungen zuzulassen, müssen Sie Ihre Server-IP-Adresse zu /etc/mongodb.conf hinzufügen Konfigurationsdatei wie gezeigt.
bind_ip = 127.0.0.1,your_server_ip #port = 27017
Speichern Sie die Datei, beenden Sie den Editor und starten Sie MongoDB neu.
$ sudo systemctl restart mongodb
Schritt 4:Root-Benutzer und Passwort für die MongoDB-Datenbank erstellen
7. Standardmäßig MongoDB wird mit deaktivierter Benutzerauthentifizierung geliefert, es wird daher ohne Zugriffskontrolle gestartet. So starten Sie die Mongo-Shell , führen Sie den folgenden Befehl aus.
$ mongo
8. Sobald Sie sich mit der Mongo-Shell verbunden haben , können Sie alle verfügbaren Datenbanken mit dem folgenden Befehl auflisten.
> show dbs
9. Um die Zugriffskontrolle auf Ihrer MongoDB-Bereitstellung zu aktivieren, um die Authentifizierung zu erzwingen; Benutzer müssen sich jedes Mal identifizieren, wenn sie sich mit dem Datenbankserver verbinden.
MongoDB verwendet den Salted Challenge Response Authentication Mechanism (SCRAM ) Authentifizierungsmechanismus standardmäßig. Verwendung von SCRAM , verifiziert MongoDB die bereitgestellten Benutzeranmeldeinformationen anhand des Benutzernamens, des Kennworts und der Authentifizierungsdatenbank (die Datenbank, in der der Benutzer erstellt wurde, dient zusammen mit dem Benutzernamen zur Identifizierung des Benutzers).
Sie müssen einen Benutzeradministrator erstellen (analog zum Root-Benutzer unter MySQL/MariaDB ) in der Admin-Datenbank. Dieser Benutzer kann Benutzer und Rollen verwalten, z. B. Benutzer erstellen, Benutzern Rollen erteilen oder entziehen und benutzerdefinierte Rollen erstellen oder ändern.
Wechseln Sie zunächst in den Adminbereich Datenbank und erstellen Sie dann den Root-Benutzer mit folgenden Befehlen.
> use admin > db.createUser({user:"root", pwd:"[email protected]!#@%$admin1", roles:[{role:"root", db:"admin"}]})
Verlassen Sie nun die Mongo-Shell, um die Authentifizierung zu aktivieren, wie im Folgenden erklärt.
10. Die mongodb Instanz wurde ohne --auth
gestartet Befehlszeilenoption. Sie müssen die Authentifizierung von Benutzern aktivieren, indem Sie /lib/systemd/system/mongod.service bearbeiten öffnen Sie zuerst die Datei zum Bearbeiten wie folgt.
$ sudo vim /lib/systemd/system/mongodb.service
Unter dem [Service]
config finden Sie den Parameter ExecStart .
ExecStart=/usr/bin/mongod --unixSocketPrefix=${SOCKETPATH} --config ${CONF} $DAEMON_OPTS
Ändern Sie es wie folgt:
ExecStart=/usr/bin/mongod --auth --unixSocketPrefix=${SOCKETPATH} --config ${CONF} $DAEMON_OPTS
Speichern Sie die Datei und beenden Sie sie.
11. 8. Nachdem Sie Änderungen an der Konfigurationsdatei vorgenommen haben, führen Sie „systemctl daemon-reload“ aus ‘, um Einheiten neu zu laden und den MongoDB-Dienst neu zu starten und seinen Status wie folgt zu überprüfen.
$ systemctl daemon-reload $ sudo systemctl restart mongodb $ sudo systemctl status mongodb
12. Wenn Sie jetzt versuchen, eine Verbindung zu mongodb herzustellen müssen Sie sich als MongoDB-Benutzer authentifizieren. Zum Beispiel:
$ mongo -u "root" -p --authenticationDatabase "admin"
Hinweis :Es wird nicht empfohlen, Ihr Passwort in der Befehlszeile einzugeben, da es in der Shell-Verlaufsdatei gespeichert wird und später von einem Angreifer eingesehen werden kann.
Das ist alles! MongoDB ist ein modernes Open-Source-No-SQL-Datenbankverwaltungssystem, das hohe Leistung, hohe Verfügbarkeit und automatische Skalierung bietet.
In diesem Artikel haben wir erklärt, wie Sie MongoDB installieren und damit beginnen in Ubuntu 18.04 . Wenn Sie Fragen haben, verwenden Sie das Kommentarformular unten, um uns zu erreichen.