Wie man MongoDB auf Ubuntu 16.04 LTS installiert und konfiguriert
MongoDB ist eine NoSQL-Datenbank, die eine leistungsstarke, hochverfügbare und automatisch skalierbare Unternehmensdatenbank bietet. MongoDB ist eine NoSQL-Datenbank, so dass Sie SQL (Structured Query Language) nicht verwenden können, um Daten einzufügen und abzurufen, und es speichert keine Daten in Tabellen wie MySQL oder Postgres. Die Daten werden in einer „Dokument“-Struktur im JSON-Format (in MongoDB BSON genannt) gespeichert. MongoDB wurde 2009 erstmals eingeführt und wird derzeit von der Firma MongoDB Inc. entwickelt.
„MongoDB bietet nur Pakete für 64-Bit-LTS-(Langzeit-Support)-Ubuntu-Versionen an. Zum Beispiel 12.04 LTS (präzise), 14.04 LTS (vertrauenswürdig), 16.04 LTS (xenial), und so weiter.“ mongodb Website.
Voraussetzungen
- Ubuntu Server 16.04 – 64 bit
- Root-Rechte
Was wir in diesem Tutorial tun werden:
- MongoDB installieren
- MongoDB konfigurieren
- Fazit
MongoDB auf Ubuntu 16.04 installieren
Schritt 1 – Importieren des öffentlichen Schlüssels
GPG-Schlüssel des Software-Distributors werden vom Ubuntu-Paketmanager apt (Advanced Package Tool) benötigt, um die Konsistenz und Authentizität der Pakete sicherzustellen. Führen Sie diesen Befehl aus, um MongoDB-Schlüssel auf Ihren Server zu importieren.
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927
Schritt 2 – Erstellen der Orderbuchdatei MongoDB
Erstellen Sie mit diesem Befehl eine MongoDB-Listendatei in /etc/apt/sources.list.d/:
echo "deb http://repo.mongodb.org/apt/ubuntu "$(lsb_release -sc)"/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list
Schritt 3 – Aktualisieren des Repositorys
das Repository mit dem Befehl apt aktualisieren:
sudo apt-get update
Schritt 4 – MongoDB installieren
Jetzt können Sie MongoDB installieren, indem Sie diesen Befehl eingeben:
sudo apt-get install -y mongodb-org
Wir müssen eine neue MongoDB systemd Servicedatei im Verzeichnis’/lib/systemd/system‘ erstellen. Gehen Sie zu diesem Verzeichnis und erstellen Sie die neue MongoDB-Servicedatei’mongod.service‘ mit vim editor.
cd /lib/systemd/system/ vim mongod.service
Fügen Sie das Skript unten ein:
[Unit] Description=High-performance, schema-free document-oriented database After=network.target Documentation=https://docs.mongodb.org/manual [Service] User=mongodb Group=mongodb ExecStart=/usr/bin/mongod --quiet --config /etc/mongod.conf [Install] WantedBy=multi-user.target
Speichern Sie die Datei und beenden Sie sie.
Aktualisieren Sie nun den Dienst systemd mit dem folgenden Befehl:
systemctl daemon-reload
Starten Sie MongoDB und fügen Sie es als Dienst hinzu, der beim Booten gestartet werden soll:
systemctl start mongod
systemctl enable mongod
Überprüfen Sie nun, ob MongoDB auf Port 27017 mit dem Befehl netstat gestartet wurde.
netstat -plntu
MongoDB-Benutzername und Passwort konfigurieren
Wenn die MongoDB-Pakete installiert sind, können Sie Benutzername und Passwort für den Datenbankserver konfigurieren:
Schritt 1 – Offene Mongoschale
Bevor Sie einen Benutzernamen und ein Passwort für MongoDB einrichten, müssen Sie die MongoDB-Shell auf Ihrem Server öffnen. Du kannst dich durch Tippen einloggen:
mongo
Wenn Sie einen Fehler erhalten, ist die globale Initialisierung fehlgeschlagen: BadValue Ungültig oder kein Benutzer-Locale gesetzt. Bitte stellen Sie sicher, dass die LANG- und/oder LC_*-Umgebungsvariablen korrekt gesetzt sind, versuchen Sie den Befehl:
export LC_ALL=C mongo
Schritt 2 – Wechseln Sie zum Datenbankadministrator
Sobald Sie sich in der MongoDB-Shell befinden, wechseln Sie zur Datenbank mit dem Namen admin:
use admin
Schritt 3 – Erstellen des Root-Benutzers
Erstellen Sie den Root-Benutzer mit diesem Befehl:
db.createUser({user:"admin", pwd:"admin123", roles:[{role:"root", db:"admin"}]})
Desc: Erstellen Sie eine Benutzerverwaltung mit dem Passwort admin123 und haben Sie die Berechtigung/Rolle als root und die Datenbank ist admin.
Geben Sie nun exit ein, um die MongoDB-Shell zu verlassen.
Schritt 4 – Aktivieren der mongodb-Authentifizierung
Bearbeiten Sie die mongodb-Servicedatei ‚/lib/systemd/system/system/mongod.service‘ mit Ihrem Editor.
vim /lib/systemd/system/mongod.service
Fügen Sie in der Zeile 9 von‘ExecStart‚ die neue Option‘–auth‚ hinzu.
ExecStart=/usr/bin/mongod --quiet --auth --config /etc/mongod.conf
Speichern Sie die Servicedatei und beenden Sie vim.
Laden Sie den Dienst systemd neu:
systemd daemon-reload
Schritt 5 – Starten Sie MongoDB neu und versuchen Sie, eine Verbindung herzustellen.
Starten Sie nun MongoDB neu und verbinden Sie sich mit dem erstellten Benutzer.
sudo service mongod restart
und verbinden Sie sich mit der MongoDB-Shell mit diesem Befehl:
mongo -u admin -p admin123 --authenticationDatabase admin
und Sie werden die Ausgabe so sehen:
Fazit
Eine bekannte NoSQL-Datenbank, die hohe Leistung, hohe Verfügbarkeit und automatische Skalierung bietet, ist MongoDB. Es unterscheidet sich von den RDBMS wie MySQL, PostgreSQL und SQLite, da es kein SQL zum Setzen und Abrufen von Daten verwendet. MongoDB speichert Daten in `Dokumenten` namens BSON (binäre Darstellung von JSON mit zusätzlichen Arten von Informationen). MongoDB ist nur für den 64-Bit Langzeit-Support Ubuntu Release verfügbar.