Bitte lies Dir den Disclaimer durch, bevor Du eine Anleitung umsetzt...

Haftungsausschluss / Disclaimer

MariaDB von 10.4 auf 10.5 updaten

Auf dem Host den mariadb-client auf v10.5 upgraden

Für das Anlegen von Datenbanken aus der Kommandozeile heraus und zum Datenbank-Dump über das Backup-Script haben wir direkt auf dem Host den „mariadb-client“ für den Zugriff auf unseren zentralen MariaDB-Container installiert. Der Client liegt natürlich momentan auch noch in Version 10.4 vor. Nun werden wir ihn auf Version 10.5 bringen:

nano /etc/apt/sources.list

deb [arch=amd64] http://ftp.hosteurope.de/mirror/mariadb.org/repo/10.5/debian buster main
# deb-src [arch=amd64] http://ftp.hosteurope.de/mirror/mariadb.org/repo/10.5/debian buster main

Hier ändern wir nach „/repo/“ den Wert 10.4 auf 10.5 und speichern die Änderung ab.
Fahren wir ein Update, um die Änderung einzulesen:

~/upup-system.sh

Das Upgrade von 10.4 auf 10.5 wurde zurückgehalten, weil unserem Host die Änderung wohl spanisch vorkommt. Wir überzeugen ihn, dass wir das auch wirklich so haben wollen, mittels eines „Full-Upgrades“:

apt full-upgrade

Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.
Statusinformationen werden eingelesen.... Fertig
Paketaktualisierung (Upgrade) wird berechnet... Fertig
Die folgenden Pakete werden ENTFERNT:
  mariadb-client-10.4 mariadb-client-core-10.4
Die folgenden NEUEN Pakete werden installiert:
  mariadb-client-10.5 mariadb-client-core-10.5
Die folgenden Pakete werden aktualisiert (Upgrade):
  mariadb-client
1 aktualisiert, 2 neu installiert, 2 zu entfernen und 0 nicht aktualisiert.
Es müssen 2.318 kB an Archiven heruntergeladen werden.
Nach dieser Operation werden 3.840 kB Plattenplatz zusätzlich benutzt.
Möchten Sie fortfahren? [J/n] J

Jetzt werden die Versionen von 10.4 entfernt und die neuen für 10.5 installiert. Der mariadb-client wird upgegradet und ist nun bereit für unsere neue Datenbank-Version.

Anwendungen und Dienste stoppen, die auf die Datenbank zugreifen

Im nächsten Schritt fahren wir mit „docker-compose down“ alle Anwendungen und Dienste herunter, welche auf die Datenbank zugreifen. Das wären insbesondere

  • phpMyAdmin (wobei der ja sowieso nicht laufen sollte… !)
  • WordPress
  • Nextcloud
  • Matomo

Und alles, was Du sonst noch installiert hast, das die zentrale MariaDB benutzt.

MariaDB v10.4 Datenbankserver stoppen

Jetzt ändern wir den Restart-Wert auch innerhalb der 10.4er und stoppen den Datenbank-Server MariaDB v10.4:

nano ~/docker/maria104master/docker-compose.yml
  restart: unless-stopped

docker-compose -f ~/docker/maria104master/docker-compose.yml down

Datenbank-Verzeichnis kopieren

Alle Dienste, welche die Datenbank nutzen und die Datenbank selbst sind jetzt ausgeschaltet. Nun haben wir Zugriff auf das Datenbank-Verzeichnis, das sonst im laufenden Betrieb nicht kopiert werden kann… Und genau das machen wir jetzt.

Damit gehen wir auf Nummer Sicher für den Fall, dass die neue Version MariaDB 10.5 unsere Datenbanken zerschießt, die ja noch im Format der v10.4 vorliegen!

cp -a /var/maria104masterdata /var/maria105masterdata

Mittels „cp -a“ (a wie „A“rchiv) erzeugen wir eine echte 1:1 Kopie des „104“er-Verzeichnisses mit den selben Benutzerrechten und Datums in das neue „105“er. Damit sind wir so sicher, wie man hoffentlich nur sein kann, da jetzt die Datenbanken zwei Mal vorliegen und wir im Falle des Super-GAUs auf die alte Version zurückkehren können…

Anzeige *

2 Kommentare zu „MariaDB von 10.4 auf 10.5 updaten“

  1. Guten Abend Peter,
    ich hoffe wir hören von Dir – gerade in der Coronazeit – ein wenig.

    FYI: Ich habe jetzt Traefik 2.3 in einem Step hochgezogen, ohne Probleme. Wichtig: alles genau lesen!

    Bei Deinem Datenbank Update ist mir folgendes schon aufgefallen, wo Du ursprünglich die Datenbank in Version 10.4 installiert hast. Die Versionsnummern sind bei Dir hart verdrahtet. Ich habe da eine Idee, die eigentlich gehen könnte.

    Du installierst alles z.B. nach ~/docker/maria104master
    Danach machst Du aber einen Symlink: ln -s ~/docker/maria104master ~/docker/mariadbmaster
    In den ganzen YAML Dateien gibst Du dann immer diesen Pfad an: ~/docker/mariadbmaster

    Wenn dann das Update auf die 105 kommt, brauchst Du nur den Symlink einmal löschen und mit dem neuen Pfad erzeugen lassen. Die ganzen YAML Config Datei bleiben unberührt. (Soweit die Theorie)

    Noch eine Frage: Kann man das Datenbank Update nicht auch direkt vom Host laufen lassen. Da ist doch der neue Client auch installiert?

    1. Was die wenigsten wissen, dass ich im „Haupterwerb“ eine Cocktailbar betreibe. Und die fällt mir zu Corona-Zeiten mächtig auf die Füße und ich muss ackern wie ein Besessener, um das Ding im Leerlauf halten zu können. Ich komm momentan auf eine 70 – 80 Stunden Woche. Selbst und Ständig… Daher hab ich während Corona leider so gut wie gar keine Zeit, nebenbei mit dem Stack zu spielen.

      Der Symlink ist eine gute Idee, das muss ich auf dem Testserver einfach ausprobieren.
      Alternativ hab ich mir die Variablen in der docker-compose.yml genauer angesehen. Da könnte was gehen. Aber das Setup, das ich will, ist natürlich wieder behaftet mit diversen Workarounds und anderen Schikanen :/
      https://docs.docker.com/compose/environment-variables/
      Aber wenigstens die ständige Neubenennung der Router von Traefik kann man damit elegant lösen…

      Du hast recht: Das könnte man auch über den Host machen. Haha, da war ich schon so drin, dass ich komplett vergessen hab, dass ich mich damals auch aus genau dem Grund für eine „Zentraldatenbank“ entschieden hab. Silly me…
      Andererseits hat das Werkeln direkt im Container nicht geschadet. Da war ich dann schon einigermaßen fit, als das bei Nextcloud spruchreif geworden ist.

      Aber ich seh schon: Es ist noch viel zu tun ;)

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Verwendung
von Cookies

Um unsere Webseite für Sie optimal zu gestalten und fortlaufend verbessern zu können, verwenden wir Cookies. Durch die weitere Nutzung der Webseite stimmen Sie der Verwendung von Cookies zu. Weitere Informationen zu Cookies erhalten Sie in unserer Datenschutzerklärung.

Scroll to Top