Einführung
MongoDB ist eine Datenbankanwendung, die in der Webentwicklung verwendet wird und eine hohe Leistung, hohe Verfügbarkeit und automatische Skalierung bietet.
Herkömmliche Datenbanken wie MySQL sind relational, während MongoDB Daten als JSON-Dokumente speichert. Dies ist besonders nützlich, um komplexe Daten zu speichern oder Dokumente zu ändern, ohne bestehende Datenstrukturen zu beeinträchtigen.
Diese Anleitung zeigt Ihnen, wie Sie MongoDB auf Ubuntu 18.04 installieren.
Voraussetzungen
- Ein System mit 64-Bit-Ubuntu 18.04
- Ein Benutzerkonto auf Ubuntu mit sudo-Berechtigungen
- Terminalfenster/Befehlszeilenzugriff
Installieren Sie MongoDB aus den Standard-Ubuntu-Repositories (einfach)
MongoDB installieren
Beginnen Sie mit der Aktualisierung und Aktualisierung der Paketlisten:
sudo apt-get update
sudo apt-get upgrade
Warten Sie, bis der Vorgang abgeschlossen ist, und installieren Sie dann die MongoDB-Anwendung:
sudo apt-get install mongodb
Das System fordert Sie auf, die Installation zu bestätigen, indem Sie y. eingeben
Sie können die Installation überprüfen, indem Sie die Version überprüfen:
mongod ––version
In diesem Beispiel ist die aus den Repositories installierte MongoDB-Version v3.6.3 .
Stellen Sie sicher, dass der MongoDB-Dienst ausgeführt wird und beim Start aktiviert ist:
sudo systemctl status mongodb
Die im Bild unten gezeigte Ausgabe bestätigt, dass der Dienst aktiv ist.
MongoDB-Dienst verwalten
Verwenden Sie diese Befehle, um den MongoDB-Dienst zu verwalten:
So stoppen Sie MongoDB:
sudo systemctl stop mongodb
So starten Sie MongoDB:
sudo systemctl start mongodb
So starten Sie MongoDB neu, wenn es bereits ausgeführt wird (z. B. um Konfigurationsänderungen anzuwenden):
sudo systemctl restart mongodb
So verhindern Sie, dass MongoDB beim Booten gestartet wird:
sudo systemctl disable mongodb
So stellen Sie MongoDB so ein, dass es beim Booten gestartet wird:
sudo systemctl enable mongodB
Verwendung der MongoDB-Shell
Geben Sie zum Starten der MongoDB-Shell Folgendes ein:
mongo
Um die Mongo-Shell zu verlassen, verwenden Sie entweder die Tastenkombination:
Ctrl-C
oder den Befehl:
quit()
So deinstallieren Sie MongoDB
Um MongoDB zu deinstallieren, geben Sie die Befehle ein:
sudo systemctl stop mongodb
sudo apt purge mongodb
sudo apt autoremove
MongoDB Community Edition (komplex) installieren
Die MongoDB Community Edition wird auf den MongoDB-Servern gehostet. Es ist schwieriger zu installieren, aber die von den Entwicklern erhältliche Version ist immer aktuell.
Der erste Schritt besteht darin, den öffentlichen Schlüssel auf den Ubuntu-Server zu importieren:
sudo wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add –
Das System bestätigt, dass der Schlüssel hinzugefügt wurde, wie unten gezeigt.
Erstellen Sie eine Listendatei und fügen Sie das MongoDB-Repository hinzu:
echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.2.list
Aktualisieren Sie die Paketdatenbank:
sudo apt-get update
Installieren Sie MongoDB:
sudo apt-get install mongodb-org
Standardmäßig lädt der Paketmanager von Ubuntu Updates herunter und installiert sie, sobald sie veröffentlicht werden. Wenn Sie die MongoDB-Version überprüfen, bestätigt das System, dass Sie die neueste verfügbare Version, v4.2.1., installiert haben
Verwenden Sie Folgendes, um Ihre Version zu sperren:
echo "mongodb-org hold" | sudo dpkg --set-selections
echo "mongodb-org-server hold" | sudo dpkg --set-selections
echo "mongodb-org-shell hold" | sudo dpkg --set-selections
echo "mongodb-org-mongos hold" | sudo dpkg --set-selections
echo "mongodb-org-tools hold" | sudo dpkg --set-selections
MongoDB Community Edition-Dienst verwalten
Verwenden Sie die folgenden Befehle, um den MongoDB-Dienst zu verwalten:
So stoppen Sie MongoDB:
sudo systemctl stop mongod
So starten Sie MongoDB:
sudo systemctl start mongod
So starten Sie MongoDB neu, wenn es bereits ausgeführt wird (z. B. um Konfigurationsänderungen anzuwenden):
sudo systemctl restart mongod
So verhindern Sie, dass MongoDB beim Booten gestartet wird:
sudo systemctl disable mongod
So stellen Sie MongoDB so ein, dass es beim Booten gestartet wird:
sudo systemctl enable mongod
Die Community Edition verwendet mongod als Dienstname. Dies ist ein wesentlicher Unterschied zur Version in den Standard-Repositories. Ansonsten sind die Befehle identisch.
So verwenden Sie die MongoDB-Shell (Community Edition)
Geben Sie Folgendes ein, um die MongoDB-Shell zu starten:
mongo
Um die Mongo-Shell zu verlassen, verwenden Sie entweder die Tastenkombination:
Ctrl-C
oder geben Sie den folgenden Befehl ein:
quit()
MongoDB Community Edition deinstallieren
Um MongoDB Community Edition zu deinstallieren, geben Sie die Befehle ein:
sudo service mongod stop
sudo apt-get purge mongodb-org*
sudo rm -r /var/log/mongodb
sudo rm -r /var/lib/mongodb
Firewall für MongoDB konfigurieren
Wenn Sie auf demselben System arbeiten, auf dem MongoDB gehostet wird, können Sie diesen Schritt überspringen.
MongoDB verwendet Port 27017 kommunizieren. Sie können diesen Port in Ihrer Firewall öffnen, dies würde jedoch uneingeschränkten Zugriff ermöglichen und wird nicht empfohlen.
Geben Sie stattdessen die IP-Adresse eines Systems an, das eine Verbindung zu MongoDB herstellt, und gewähren Sie nur einer bestimmten IP-Adresse Zugriff. Verwenden Sie dazu Folgendes:
sudo ufw allow from remote_server_IP/32 to any port 27017
Ersetzen Sie remote_server_IP mit der tatsächlichen IP-Adresse des Systems, von dem aus Sie sich verbinden.
Bestätigen Sie die Änderung, indem Sie Folgendes eingeben:
sudo ufw status
Überprüfen Sie die Liste – Sie sollten Datenverkehr sehen, der auf Port 27017 zugelassen ist .
Bearbeiten Sie die mongodb Konfigurationsdatei zum Abhören einer anderen IP-Adresse:
sudo nano /etc/mongodb.conf
Suchen Sie den Eintrag mit der Bezeichnung bind_ip , und fügen Sie ein Komma und die IP-Adresse Ihres Remote-Systems hinzu:
bind_ip = 127.0.0.1, remote_server_IP
#port = 27017
Speichern Sie die Datei und starten Sie den MongoDB-Dienst wie oben beschrieben neu.
Grundlegende MongoDB-Einrichtung
Öffnen Sie eine Mongo-Shell, indem Sie Folgendes eingeben:
mongo
Liste aller verfügbaren Datenbanken anzeigen:
show dbs
MongoDB wird mit deaktivierter Authentifizierung geliefert. Sie können es sichern, indem Sie die Authentifizierung aktivieren und einen Root-Benutzer und ein Passwort erstellen. Wechseln Sie zunächst zur Admin-Datenbank:
use admin
Erstellen Sie einen Root-Benutzer, indem Sie Folgendes eingeben:
db.createUser({user:"root", pwd:"complex_password", roles:[{role:"root", db:"admin"}]})
Beenden Sie die Mongo-Shell, indem Sie STRG+C drücken. Bearbeiten Sie als Nächstes die mongodb.service Datei zum Aktivieren der Authentifizierung:
sudo nano /lib/system/system/mongodb.service
Suchen Sie den Service-Abschnitt und darunter ExecStart Eintrag.
Fügen Sie ––auth unmittelbar nach /usr/bin/mongod hinzu, sodass es wie folgt aussieht:
ExecStart=/usr/bin/mongod --auth --unixSocketPrefix=${SOCKETPATH} --config ${CONF} $DAEMON_OPTS
Speichern Sie die Datei und beenden Sie sie. Laden Sie das System und die MongoDB-Dienste neu:
sudo systemctl daemon-reload
sudo systemctl restart mongodb
sudo systemctl status mongodb
Um sich bei Mongo anzumelden, müssen Sie Ihr Benutzerkonto authentifizieren. Geben Sie Folgendes ein:
mongo –u “root” –p ––authenticationDatabase “admin”
Wenn Sie dazu aufgefordert werden, geben Sie das oben festgelegte Kennwort ein. Die Mongo-Shell sollte sich wie zuvor öffnen.