MongoDB ist ein plattformübergreifendes, dokumentenorientiertes NoSQL-Datenbankprogramm, das JSON-ähnliche Dokumente mit optionalen Schemas verwendet. MongoDB wird von MongoDB Inc. entwickelt und unter der Server Side Public License lizenziert.
Anstatt Daten wie in SQL-Datenbanken in Zeilen- oder Spaltentabellen zu speichern, ist jeder Datensatz in einer MongoDB-Datenbank ein in BSON beschriebenes Dokument, eine binäre Darstellung der Daten. Anwendungen können diese Informationen dann in einem JSON-Format abrufen.
Hier ist ein einfaches JSON-Dokument, das eine historische Figur beschreibt.
{
"_id": 1,
"name": {
"first": "Ada",
"last": "Lovelace"
},
"title": "The First Programmer",
"interests": ["mathematics", "programming"]
}
Verwandte Inhalte
- Einrichten der Authentifizierung in Mongodb
- Wie man Mongodb mit Docker und Docker-Compose ausführt
- So installieren Sie Mongodb 5 in Rocky Linux/Centos 8
- Wie man Mongodb 5 in Opensuse Leap 15.3 installiert
Voraussetzungen
Um mitzumachen, stellen Sie sicher, dass Sie über Folgendes verfügen:
- Ein aktueller Fedora 34/35-Server
- Kenntnisse von Linux Terminal
- Zugang zum Internet
- Root-Zugriff auf den Server oder Benutzer mit Sudo-Zugriff
Inhaltsverzeichnis
- Sicherstellen, dass der Server auf dem neuesten Stand ist
- Installieren von MongoDB
- MongoDB-Port auf Firewall zulassen
- MongoDB-Dienst starten und aktivieren
- Verbindung zu MongoDB herstellen und einige Testbefehle ausführen
- MongoDB Community Edition deinstallieren
1. Sicherstellen, dass der Server auf dem neuesten Stand ist
Bevor wir fortfahren, lassen Sie uns sicherstellen, dass unsere Serve-Repos und -Pakete in den neuesten Versionen sind, indem Sie mit diesem Befehl aktualisieren:
sudo dnf -y update
2. Mongodb installieren
MongoDB ist in den standardmäßigen Repos von Fedora 34/35 nicht verfügbar. Für diese Installation laden wir die .rpm
herunter Dateien direkt aus dem MongoDB-Repository. Downloads sind nach Red Hat/CentOS-Version organisiert (z. B. 8
), dann MongoDB-Version (z. B. 5.0
), dann Architektur (z. B. x86_64
).
Lassen Sie uns den MongoDB-Server mit diesem Befehl herunterladen:
curl -LO https://repo.mongodb.org/yum/redhat/8Server/mongodb-org/5.0/x86_64/RPMS/mongodb-org-server-5.0.3-1.el8.x86_64.rpm
Dann mit dnf:
installierensudo dnf install -y ./mongodb-org-server-5.0.3-1.el8.x86_64.rpm
Lassen Sie uns auch die MongoDB-Shell installieren und mit diesen Befehlen installieren:
curl -LO https://repo.mongodb.org/yum/redhat/8Server/mongodb-org/5.0/x86_64/RPMS/mongodb-org-shell-5.0.3-1.el8.x86_64.rpm
Dann installiere:
sudo dnf install -y ./mongodb-org-shell-5.0.3-1.el8.x86_64.rpm
Lassen Sie uns schließlich den Mongosh herunterladen und installieren.
curl -LO https://repo.mongodb.org/yum/redhat/8Server/mongodb-org/5.0/x86_64/RPMS/mongodb-mongosh-1.1.1.el8.x86_64.rpm
Installieren Sie dann
sudo dnf install -y ./mongodb-mongosh-1.1.1.el8.x86_64.rpm
Sie können die installierte Version von MongoDB mit dem folgenden Befehl überprüfen:
$ mongo -version
MongoDB shell version v5.0.3
Build Info: {
"version": "5.0.3",
"gitVersion": "657fea5a61a74d7a79df7aff8e4bcf0bc742b748",
"openSSLVersion": "OpenSSL 1.1.1l FIPS 24 Aug 2021",
"modules": [],
"allocator": "tcmalloc",
"environment": {
"distmod": "rhel80",
"distarch": "x86_64",
"target_arch": "x86_64"
}
}
Wir können auch die Version des Mongosh überprüfen:
$ mongosh -version
1.1.1
3. MongoDB-Port auf der Firewall zulassen
Wenn Sie eine aktive firewalld
haben auf Ihrem Server und möchten, dass der MongoDB-Dienst über das Netzwerk zugänglich ist, erlauben Sie Port 27017/tcp
:
sudo firewall-cmd --add-port=27017/tcp --permanent
sudo firewall-cmd --reload
Sie können den Zugriff auch basierend auf der Quelladresse einschränken
sudo firewall-cmd --permanent --add-rich-rule "rule family="ipv4" \
source address="10.1.0.0/16" port protocol="tcp" port="27017" accept
4. MongoDB-Dienst starten und aktivieren
Nachdem der Dienst installiert wurde, wird er standardmäßig nicht gestartet. Starten Sie den mongodb-Dienst mit diesem Befehl:
sudo systemctl start mongod
Bestätigen Sie, dass der Dienst betriebsbereit ist, indem Sie seinen Status überprüfen:
$ sudo systemctl status mongod
● mongod.service - MongoDB Database Server
Loaded: loaded (/usr/lib/systemd/system/mongod.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2021-11-03 14:31:03 UTC; 21min ago
Docs: https://docs.mongodb.org/manual
Main PID: 74348 (mongod)
Memory: 61.5M
CPU: 4.278s
CGroup: /system.slice/mongod.service
└─74348 /usr/bin/mongod -f /etc/mongod.conf
Nov 03 14:31:02 new-cloud systemd[1]: Starting MongoDB Database Server...
Nov 03 14:31:02 new-cloud mongod[74346]: about to fork child process, waiting until server is ready for connections.
Nov 03 14:31:02 new-cloud mongod[74348]: forked process: 74348
Nov 03 14:31:03 new-cloud mongod[74346]: child process started successfully, parent exiting
Nov 03 14:31:03 new-cloud systemd[1]: Started MongoDB Database Server.
Unser mongodb-Dienst ist in Betrieb. Lassen Sie uns mit diesem Befehl aktivieren, dass es beim Booten startet:
sudo systemctl enable mongod
5. Verbindung zu Mongodb herstellen und einige Testbefehle ausführen
Verwenden Sie den Mongo-Befehl, um eine Verbindung zur Mongo-Shell herzustellen.
$ mongo --port 27017
MongoDB shell version v5.0.3
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("3c093393-8154-44d4-97b5-7b02ddebd7bd") }
MongoDB server version: 5.0.3
================
Warning: the "mongo" shell has been superseded by "mongosh",
which delivers improved usability and compatibility.The "mongo" shell has been deprecated and will be removed in
an upcoming release.
We recommend you begin using "mongosh".
For installation instructions, see
https://docs.mongodb.com/mongodb-shell/install/
================
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
https://docs.mongodb.com/
Questions? Try the MongoDB Developer Community Forums
https://community.mongodb.com
---
The server generated these startup warnings when booting:
2021-11-03T14:31:02.695+00:00: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine. See http://dochub.mongodb.org/core/prodnotes-filesystem
2021-11-03T14:31:03.626+00:00: Access control is not enabled for the database. Read and write access to data and configuration is unrestricted
---
---
Enable MongoDB's free cloud-based monitoring service, which will then receive and display
metrics about your deployment (disk utilization, CPU, operation statistics, etc).
The monitoring data will be available on a MongoDB website with a unique URL accessible to you
and anyone you share the URL with. MongoDB may use this information to make product
improvements and to suggest MongoDB products and deployment options to you.
To enable free monitoring, run the following command: db.enableFreeMonitoring()
To permanently disable this reminder, run the following command: db.disableFreeMonitoring()
---
> db.version()
5.0.3
Lassen Sie uns einige Testbefehle ausführen, um die ordnungsgemäße Funktionsweise zu bestätigen:
> use citizix_db;
switched to db citizix_db
> db.users.save({
... name: "etowett",
... location: "Arctic Vault"
... });
WriteResult({ "nInserted" : 1 })
>
> db.users.find();
{ "_id" : ObjectId("6182a27289aefc6a3f30d05a"), "name" : "etowett", "location" : "Arctic Vault" }
6. Deinstallieren Sie MongoDB Community Edition
Um MongoDB vollständig von einem System zu entfernen, müssen Sie die MongoDB-Anwendungen selbst, die Konfigurationsdateien und alle Verzeichnisse mit Daten und Protokollen entfernen.
Dieser Vorgang wird vollständig Entfernen Sie MongoDB, seine Konfiguration und alles Datenbanken. Dieser Vorgang kann nicht rückgängig gemacht werden. Stellen Sie daher sicher, dass alle Ihre Konfigurationen und Daten gesichert sind, bevor Sie fortfahren.
Der folgende Abschnitt führt Sie durch die notwendigen Schritte.
MongoDB stoppen
Stoppen Sie den mongod
verarbeiten, indem Sie den folgenden Befehl ausgeben:
sudo service mongod stop
Pakete entfernen.
Entfernen Sie alle zuvor installierten MongoDB-Pakete.
sudo zypper remove $(rpm -qa | grep mongodb-org)
Datenverzeichnisse entfernen.
Entfernen Sie MongoDB-Datenbanken und Protokolldateien.
sudo rm -r /var/log/mongodbsudo rm -r /var/lib/mongo
Schlussfolgerung
In diesem Leitfaden haben wir es geschafft, MongoDB auf unserem Fedora 34/35-Server zu installieren und einige grundlegende Vorgänge damit auszuführen.