Linux Server setup

MongoDB installieren

In diesem Kapitel werden wir die NoSQL Datenbank MongoDB installieren und einrichten.

Die Community Version ist kostenlos und wahrscheinlich für die allermeisten Projekte völlig ausreichend.


MongoDB installieren

Die MongoDB 8.0 Community Edition für Ubuntu 24.04 LTS installieren wir in mehreren Schritten. Bevor du die Befehle später verwendest, solltest du in der offiziellen Installationsanleitung prüfen, ob diese Version noch unterstützt wird.


__$ sudo apt-get update
__$ sudo apt-get install -y gnupg curl
__$ curl -fsSL https://pgp.mongodb.com/server-8.0.asc | sudo gpg -o /usr/share/keyrings/mongodb-server-8.0.gpg --dearmor
__$ echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.org/apt/ubuntu noble/mongodb-org/8.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list
__$ sudo apt-get update
__$ sudo apt-get install -y mongodb-org
 

Öffnen wir mal die Hauptkonfigurationsdatei von MongoDB mit less.


__$ sudo less /etc/mongod.conf

/etc/mongod.conf


# mongod.conf

# for documentation of all options, see:
#   http://docs.mongodb.org/manual/reference/configuration-options/

# Where and how to store data.
storage:
  dbPath: /var/lib/mongodb
  journal:
    enabled: true
#  engine:
#  wiredTiger:

# where to write logging data.
systemLog:
  destination: file
  logAppend: true
  path: /var/log/mongodb/mongod.log

# network interfaces
net:
  port: 27017
  bindIp: 127.0.0.1


# how the process runs
processManagement:
  timeZoneInfo: /usr/share/zoneinfo

#security:

#operationProfiling:

#replication:

#sharding:

## Enterprise-Only Options:

#auditLog:

#snmp:

In der Ausgabe können wir sehen:

  • Daten: /var/lib/mongodb
  • Logdatei: /var/log/mongodb/mongod.log
  • Adresse: 127.0.0.1
  • Port: 27017

Die Version kann mit --version abgefragt werden:


__$ mongosh --version


MongoDB deinstallieren

Wie MongoDB deinstalliert wird, soll hier nur der Vollständigkeit halber beschrieben werden.

MongoDB stoppen:


__$ sudo systemctl stop mongod
 

MongoDB deinstallieren:


__$ sudo apt-get purge mongodb-org*
__$ sudo apt-get autoremove
 

MongoDB Daten und Logs löschen:


__$ sudo rm -r /var/lib/mongodb
__$ sudo rm -r /var/log/mongodb
 

Standardbefehle zu MongoDB

MongoDB starten:


__$ sudo systemctl start mongod

MongoDB stoppen:


__$ sudo systemctl stop mongod

MongoDB neustarten:


__$ sudo systemctl restart mongod

MongoDB Status:


__$ sudo systemctl status mongod

MongoDB Shell über die Kommandozeile

Die aktuelle MongoDB-Shell starten:


__$ mongosh

Die MongoDB Shell:


Current Mongosh Log ID: ...
Connecting to: mongodb://127.0.0.1:27017/
Using MongoDB: 8.0.x
Using Mongosh: 2.x
test>

Alle Datenbanken anzeigen:


__gt show databases;

Zur Datenbank admin wechseln:


__gt use admin;

Einen neuen Benutzer namens admin mit allen Privilegien anlegen:


__gt db.createUser({
  user: "admin",
  pwd: "MyPassword",
  roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ]
});

Eine neue Datenbank anlegen:


__gt use MyDatabase;

Eine neu angelegte Datenbank wird durch show databases; nicht angezeigt, solange sie leer ist!

Eine Collection mit einem Dokument einfügen:


__gt db.MyCollection.insert({ key: "val" });

Collections auflisten:


__gt show collections;

Inhalt einer Collection auflisten:


__gt db.MyCollection.find().pretty();

pretty() ist ein Zusatz, um die Ausgabe strukturiert und leserlicher darzustellen.

Weiteres Dokument einfügen:


__gt db.MyCollection.insert({ key: "val2" });

Einzelnes Dokument löschen:


__gt db.MyCollection.deleteOne({ key: "val2" });

Statistiken der aktuellen Datenbank ausgeben:


__gt db.stats();

Collection löschen:


__gt db.MyCollection.drop();

Aktuelle Datenbank löschen:


__gt db.dropDatabase();

Die MongoDB Shell verlassen:


__gt exit