So installieren Sie MongoDB unter CentOS 7

Einführung

MongoDB ist eine dokumentenorientierte Datenbank, die kostenlos und Open Source ist. Es wird als NoSQL-Datenbank klassifiziert, da es nicht auf einer traditionellen tabellenbasierten relationalen Datenbankstruktur basiert. Stattdessen werden JSON-ähnliche Dokumente mit dynamischen Schemata verwendet. Im Gegensatz zu relationalen Datenbanken benötigt MongoDB kein vordefiniertes Schema, bevor Sie Daten zu einer Datenbank hinzufügen. Sie können das Schema jederzeit und so oft wie nötig ändern, ohne eine neue Datenbank mit einem aktualisierten Schema einrichten zu müssen.

Dieses Tutorial führt Sie durch die Installation von MongoDB Community Edition auf einem CentOS 7-Server.

Voraussetzungen

Vergewissern Sie sich vor dem Ausführen dieses Lernprogramms, dass Sie einen normalen Benutzer ohne Rootberechtigung mit den Rechten "+ sudo +" haben. Weitere Informationen zum Einrichten eines Benutzers mit diesen Berechtigungen finden Sie in unserem Handbuch unter https://www.digitalocean.com/community/tutorials/how-to-create-a-sudo-user-on-centos-quickstart [ So erstellen Sie einen Sudo-Benutzer unter CentOS.

Schritt 1 - Hinzufügen des MongoDB-Repository

Das Paket + mongodb-org + ist in den Standardrepositorys für CentOS nicht vorhanden. MongoDB unterhält jedoch ein dediziertes Repository. Fügen wir es unserem Server hinzu.

Erstellen Sie mit dem Editor "+ vi " eine " .repo " -Datei für " yum +", das Paketverwaltungsdienstprogramm für CentOS:

sudo vi /etc/yum.repos.d/mongodb-org.repo

Besuchen Sie dann den Abschnitt Install on Red Hat in der MongoDB-Dokumentation und fügen Sie der Datei die Repository-Informationen für die neueste stabile Version hinzu:

/etc/yum.repos.d/mongodb-org.repo

[mongodb-org-]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org//x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-.asc

Speichern und schließen Sie die Datei.

Bevor wir fortfahren, sollten wir überprüfen, ob das MongoDB-Repository im Dienstprogramm + yum + vorhanden ist. Der Befehl + repolist + zeigt eine Liste der aktivierten Repositorys an:

yum repolist
Output. . .
repo id                          repo name
base/7/x86_64                    CentOS-7 - Base
extras/7/x86_64                  CentOS-7 - Extras

updates/7/x86_64                 CentOS-7 - Updates
. . .

Fahren Sie mit der Installation fort, während das MongoDB-Repository installiert ist.

Schritt 2 - MongoDB installieren

Wir können das Paket + mongodb-org + mit dem Dienstprogramm + yum + aus dem Repository eines Drittanbieters installieren.

sudo yum install mongodb-org

Es gibt zwei Eingabeaufforderungen: Das erste erlaubt die Installation der MongoDB-Pakete und das zweite importiert einen GPG-Schlüssel. Der Herausgeber von MongoDB signiert seine Software und + yum + verwendet einen Schlüssel, um die Integrität der heruntergeladenen Pakete zu bestätigen. Geben Sie bei jeder Eingabeaufforderung "+ Y " ein und drücken Sie dann die Taste " ENTER +".

Starten Sie als nächstes den MongoDB-Dienst mit dem Dienstprogramm + systemctl +:

sudo systemctl start mongod

Obwohl wir sie in diesem Tutorial nicht verwenden werden, können Sie den Status des MongoDB-Dienstes auch mit den Befehlen + reload + und + stop + ändern.

Der Befehl + reload + fordert, dass der Prozess + mongod + die Konfigurationsdatei + / etc / mongod.conf + liest und alle Änderungen anwendet, ohne dass ein Neustart erforderlich ist.

sudo systemctl reload mongod

Der Befehl "+ stop " stoppt alle laufenden " mongod +" -Prozesse.

sudo systemctl stop mongod

Das Dienstprogramm "+ systemctl " hat nach Ausführung des Befehls " start " kein Ergebnis geliefert. Sie können jedoch überprüfen, ob der Dienst gestartet wurde, indem Sie das Ende der Datei " mongod.log " mit dem Befehl " tail +" anzeigen:

sudo tail /var/log/mongodb/mongod.log
Output. . .

Eine Ausgabe von * Warten auf eine Verbindung * bestätigt, dass MongoDB erfolgreich gestartet wurde und wir mit der MongoDB-Shell auf den Datenbankserver zugreifen können:

mongo

Um zu erfahren, wie Sie über die Shell mit MongoDB interagieren, können Sie die Ausgabe der Methode + db.help () + überprüfen, die eine Liste der Methoden für das Objekt * db * enthält.

db.help()
OutputDB methods:
   db.adminCommand(nameOrDocument) - switches to 'admin' db, and runs command [ just calls db.runCommand(...) ]
   db.auth(username, password)
   db.cloneDatabase(fromhost)
   db.commandHelp(name) returns the help for the command
   db.copyDatabase(fromdb, todb, fromhost)
   db.createCollection(name, { size : ..., capped : ..., max : ... } )
   db.createUser(userDocument)
   db.currentOp() displays currently executing operations in the db
   db.dropDatabase()
. . .

Lassen Sie den "+ mongod" -Prozess im Hintergrund laufen, beenden Sie die Shell jedoch mit dem Befehl "+ exit":

exit
OutputBye

Schritt 3 - Überprüfen des Startvorgangs

Da eine datenbankgesteuerte Anwendung ohne Datenbank nicht funktionieren kann, stellen wir sicher, dass der MongoDB-Daemon "+ mongod +" mit dem System gestartet wird.

Verwenden Sie das Dienstprogramm + systemctl +, um den Startstatus zu überprüfen:

systemctl is-enabled mongod; echo $?

Eine Ausgabe von Null bestätigt einen aktivierten Dämon, den wir wollen. Eine Eins bestätigt jedoch, dass ein deaktivierter Dämon nicht gestartet werden kann.

Output. . .
enabled

Verwenden Sie im Falle eines deaktivierten Daemons das Dienstprogramm + systemctl +, um es zu aktivieren:

sudo systemctl enable mongod

Wir haben jetzt eine laufende Instanz von MongoDB, die nach einem Systemneustart automatisch startet.

Schritt 4 - Importieren eines Beispieldatensatzes (optional)

Im Gegensatz zu anderen Datenbankservern enthält MongoDB keine Daten in seiner + test + - Datenbank. Da wir nicht mit neuer Software unter Verwendung von Produktionsdaten experimentieren möchten, laden wir einen Beispieldatensatz von der Website "https://docs.mongodb.com/getting-started/shell/import-data/[Import Example Dataset]" herunter. Abschnitt der Dokumentation „Erste Schritte mit MongoDB“. Das JSON-Dokument enthält eine Sammlung von Restaurants, mit denen wir die Interaktion mit MongoDB üben und vermeiden, dass vertrauliche Daten beschädigt werden.

Beginnen Sie, indem Sie in ein beschreibbares Verzeichnis wechseln:

cd /tmp

Verwenden Sie den Befehl + curl + und den Link von MongoDB, um die JSON-Datei herunterzuladen:

curl -LO https://raw.githubusercontent.com/mongodb/docs-assets/primer-dataset/primer-dataset.json

Der Befehl + mongoimport + fügt die Daten in die * test * -Datenbank ein. Das Flag "+ - db " definiert, welche Datenbank verwendet werden soll, während das Flag " - collection " angibt, wo die Informationen in der Datenbank gespeichert werden, und das Flag " - file +" teilt dem Befehl mit, welche Datei ausgeführt werden soll Aktion importieren auf:

mongoimport --db test --collection restaurants --file /tmp/primer-dataset.json

Die Ausgabe bestätigt den Import der Daten aus der Datei + primer-dataset.json:

Outputconnected to: localhost
imported 25359 documents

Mit dem vorhandenen Beispiel-Dataset führen wir eine Abfrage danach durch.

Starten Sie die MongoDB-Shell neu:

mongo

Die Shell wählt standardmäßig die "+ test +" - Datenbank aus, in die wir unsere Daten importiert haben.

Fragen Sie die * restaurants * -Sammlung mit der Methode + find () + ab, um eine Liste aller im Datensatz enthaltenen Restaurants anzuzeigen. Da die Auflistung mehr als 25.000 Einträge enthält, können Sie die Ausgabe der Abfrage mit der optionalen Methode + limit () + auf eine bestimmte Anzahl reduzieren. Darüber hinaus macht die Methode + pretty () + die Informationen mit Zeilenumbrüchen und Einrückungen besser lesbar.

db.restaurants.find().limit( 1 ).pretty()
Output{
   "_id" : ObjectId("57e0443b46af7966d1c8fa68"),
   "address" : {
       "building" : "1007",
       "coord" : [
           -73.856077,
           40.848447
       ],
       "street" : "Morris Park Ave",
       "zipcode" : "10462"
   },
   "borough" : "Bronx",
   "cuisine" : "Bakery",
   "grades" : [
       {
           "date" : ISODate("2014-03-03T00:00:00Z"),
           "grade" : "A",
           "score" : 2
       },
       {
           "date" : ISODate("2013-09-11T00:00:00Z"),
           "grade" : "A",
           "score" : 6
       },
       {
           "date" : ISODate("2013-01-24T00:00:00Z"),
           "grade" : "A",
           "score" : 10
       },
       {
           "date" : ISODate("2011-11-23T00:00:00Z"),
           "grade" : "A",
           "score" : 9
       },
       {
           "date" : ISODate("2011-03-10T00:00:00Z"),
           "grade" : "B",
           "score" : 14
       }
   ],
   "name" : "Morris Park Bake Shop",
   "restaurant_id" : "30075445"
}

Sie können den Beispieldatensatz weiterhin verwenden, um sich mit MongoDB vertraut zu machen, oder ihn mit der Methode + db.restaurants.drop () + löschen:

db.restaurants.drop()

Zuletzt verlassen Sie die Shell mit dem Befehl + exit +:

exit
OutputBye

Fazit

In diesem Tutorial wurde das Hinzufügen eines Drittanbieter-Repositorys zu "+ yum +", das Installieren des MongoDB-Datenbankservers, das Importieren eines Beispieldatensatzes und das Ausführen einer einfachen Abfrage behandelt. Wir haben kaum die Oberfläche der Funktionen von MongoDB zerkratzt. Sie können Ihre eigene Datenbank mit mehreren * Sammlungen * erstellen, diese mit vielen * Dokumenten * füllen und mit der Erstellung einer robusten Anwendung beginnen.