MongoDB Umstellung auf eine nächst höhere Version
Ich habe bei meiner MongoDB noch eine ältere Version 4.2 am Laufen. Auch nach der Umstellung von Fedora 37 auf Fedora 38 am vergangenen Sonntag, 22.10.2023 brachte bei MongoDB keine höhere Version ein.
Also habe ich erst einmal ChatGPT danach gefragt, wie man das bei MongoDB macht. Denn es war mir wichtig, dass die Reposorities immer noch bei der Abfrage bezüglich normalen Updates eingebunden sind.
Klar ich hätte mir das entsprechende RPM-Paket herunterladen können und dann installieren.
Erst einmal habe ich mit
mongodump --out /pfad/zum/sicherungsverzeichnis
ein Backup gemacht.
Danach das Repo aufgerufen:
sudo nano /etc/yum.repos.d/mongodb-org-4.2.repo
Vorher von dieser Datei noch eine Sicherheitskopie gemacht und sie woanders hin gespeichert als auf dem Pfad /etc/yum.repos.d – für den Falle, dass etwas schieflaufen sollte.
Die von ChatGPT vorgeschlagene Änderung von der Datei, ich habe „nur“ die Datei mongodb-repo und nicht mongodb-org-4.2.repo, auf die 6er Version wollte nicht klappen.
[mongodb-org-6.x]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/6.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-6.0.asc
Ich habe mir dann eine andere Anleitung aus dem Netz geholt und mir wenigstens die Version 4.4 installiert.
Mit den folgenden Einträgen in der mongodb-repo:
[Mongodb]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/8/mongodb-org/4.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc
habe ich dann Mongodb mit
sudo yum remove mongodb-org
deinstalliert und mit
sudo yum install -y mongodb-org
installiert.
Dann natürlich den Server wieder starten.:
sudo systemctl enable mongod.service
und
sudo systemctl start mongod.service
und mit
sudo systemctl status mongod.service
überprüfen, ob er wirklich läuft.
Man könnte auch sudo systemctl start mongod.service && systemctl status mongod.service aufrufen, denn wenn der erste Befehl nicht funktioniert, funktioniert der zweite auch nicht.
Nun habe ich beim Aufrufen bemerkt, dass zwar die Shell die Version 4.4 hatte, aber nicht der Server. Server lief noch auf Version 4.2.
Der folgende Screenshot ist eine Ausgabe auf der Mongo Shell (im Terminal).
Einmal überprüfen mit
mongod –version
und
mongodb –eval ‚db.runCommand({connectionsStatus: 1 })
Hier zeigt sich eine Unsicherheit.
Also geschaut welcher Prozess gerade läuft mit
ps aux | grep mongod
Siehe da es läuft noch ein Prozess und einer, den ich vor der Deinstallation gestartet hatte, um 4.45 Uhr, als ich den Rechner gestartet habe. Da hatte ich noch die Version 4.2 installiert.
Dann noch einmal in top geschaut
top | grep mongod
läuft.
Dann mit
sudo killall -9 mongod
den Prozess gestoppt
und beim Aufruf der MongoShell zeigt er mir auch die neue Server-Version von 4.4 an.
Einmal zur Sicherheit MongoDB Compass aufgerufen – funktioniert auch und einmal Daten über das Python-Modul pymongo eingefügt. Funktioniert auch.
Ich habe zumindest jetzt die Version 4.4 darauf. Für weitere Versionssprünge muss ich mir ein anderes Mal Zeit nehmen.
Ja, ich habe auch etwas googeln müssen, aber das mache ich im IT-Support für Windows-Anwendungen für viel einfachere Sachen auch.
Leider muss ich feststellen, dass nach jedem Reboot der Server nicht mehr automatisch startet, so wie ich das von 4.2 gewöhnt war. Ich muss den Service manuell neu starten.
Auch ein
sudo systemctl enable mongod.service
bringt nichts nachträglich. Da muss ich noch nachforschen, wie ich das löse, denn MongoDB ist hier privat der Dreh- und Angelpunkt auf dem PC für die Speicherung von so vielen Sachen.