Wechsel von MySQL zu MariaDb

Hallo,

wie ich gerade gelesen habe integriert Debian in Version 9 MariaDB statt MySQL was ich im Grunde genommen auch sehr gut finde. Hat jemand von euch bereits Erfahrungen bei der Migration gesammelt und kann evtl. ein paar Tipps geben was bei einer Elgg Installation auf einen zukommt!?

Danke

  • Auf meinem Development-Server verwende ich MariaDB schon seit einiger Zeit. Derzeit läuft alles völlig ohne Probleme.

    Ich hatte nur zu Beginn und nach einem Server-Update jeweils ein Problem mit den Log-Tabellen der Datenbanken meiner Elgg-Testinstallationen.

    Zum einen hatte das Serverupdate eigenmächtig die Konfigdatei default_plugins.cnf (bei mir in /etc/my.cnf.d) völlig überschrieben und daher wurde die "archive"-Engine nicht mehr geladen, die für die Log-Tabelle einer Elgg-Datenbank verwendet wird. Als Folge hatte ich dann wöchentlich bei der Ausführung des logrotate- bzw garbagecollection-cronjobs einen Crash der Datenbanken. Das Problem war einfach zu beheben, indem ich die archive-Engine wieder laden ließ (wurde nur nicht geladen weil die Zeile plugin-load-add=archive=ha_archive.so in default_plugins.cnf auskommentiert war). Also: damit Elgg funktioniert, muss sichergestellt sein, dass die archive-Engine von MariaDB geladen wird (ansonsten mußte ich keinerlei andere Engines manuell konfigurieren sondern die Default-Konfig konnte ich einfach so verwenden).

    Das einzige Kompatibilitätsproblem von MariaDB vs. MySQL auf das ich gestoßen bin (hatte sich auch bei der Ausführung der Cronjobs durch Datenbankcrashes gezeigt ohne dass ich wußte warum) hing wiederum mit der archive-Engine von MariaDB zusammen. Diese Engine unterstützt keine delayed-Queries, die aber von Elgg bei der Erzeugung von Logeinträgen verwendet werden (ich glaube dass die neuesten Elgg-Versionen nun fast gänzlich ohne delayed-Queries auskommen - aber ich glaube leider sind die Logentries die enzige Ausnahme).

    Seit ich in my.cnf im [mysqld]-Abschnitt die Zeile

    max_delayed_threads = 0

    hinzugefügt habe, werden die delayed-Queries von MariaDB auch sofort ausgeführt und ich hatte keinerlei Crashes der Datenbanken mehr.

    Bevor Du auf Debian9 updatest, würde ich trotzdem von allen (Elgg-)Datenbanken, die Du hast, ein Backup machen. Sollte es im dümmsten Fall mit MariaDB nicht funktionieren, sollte es ja trotzdem möglich sein, auch unter Debian9 wieder manuall zurück zu MySQL zu wechseln.

  • Super, vielen Dank für Deine ausführliche Beschreibung! Ich denke das wird mir sehr behilflich sein beim Server Upgrade. Vermutlich werde ich nächste Woche damit beginnen und gebe dann ein Feddback.

    Vielen Dank nochmals 

German Support Group

German Support Group

The German support group within the Elgg community.