Computer: WordPress: Welche Datenbank Version von MySQL oder MariaDB

Gehört zu: WordPress
Siehe auch: MySQL, ProviderStrato, Datensicherung, Meine Websites mit WordPress

Stand: 04.03.2023

Strato fordert Upgrade von PHP7.4 auf PHP8

Mein Web-Provider Strato wechselt von PHP7.4 auf PHP8 und will für einen Verbleib bei PHP7 extra Geld (Euro 7,81 jeden Monat ab 7.2.2023) für einen sog. “extended Support” haben. Wenn ich aber dem folge und also auf PHP8 wechsele, läuft mein WordPress-Blog  http://blog.kr8.de  nicht mehr…

Was tun?

Als ersten Schritt versuche ich, mein WordPress-Blog, was ich bei Strato hoste, nun zuhause auf meinem Laptop nachzustellen. Dazu richte ich auf dem heimischen Laptop ersteinmal die mit Strato identische Systemumgebung ein. Also:

  • Apache 2.4
  • PHP 7.4
  • MySQL 8  (bei Strato war es 5.7.38)
  • WordPress 6.1.1

Beim WordPress auf dem heimischen Laptop muss ich dann die gleichen Einstellungen wie bei Strato vornehmen; also:

  • Identische Plugins
  • Identisches Theme
  • Identische Permalinks

Dann hole ich mir die WordPress-Inhalte von Strato auf meinen heimischen Laptop. Das mache ich mit dem WordPress-Plugin Updraft Plus.

Wenn jetzt das WordPress-Blog von Strato auf meinem lokalen Laptop genauso funktioniert wie bei Strato, kommt die Nagelprobe: Wechsel von PHP7.4 auf PHP8 auf meinem lokalen Laptop…

xyz

WordPress bei Strato funktioniert nicht mehr

Anfang Januar 2017 funktionierte mein WordPress-Blog http://blog.kr8.de  bei meinem Web-Hoster Strato nicht mehr richtig.
Die Ursache des Problems bei Strato ist ungeklärt.
Bei Strato sichere ich mein WordPress mit dem Plugin UpdraftPlus auf meine Dropbox – und das hat noch funktioniert.

Die Ursache: utf8mb4

Um weiter arbeitsfähig zu bleiben, wollte ich die Updraft-Sicherung von Strato in mein lokales WordPress einspielen was aber zu einer Fehlermeldung führte, die sagte, dass meine MySQL-Version zu alt dafür sei. Weitere Recherchen ergaben, dass es an der MySQL collation “utf8mb4_unicode_ci” liegt, die das WordPress bei Strato verwendet aber von meinen lokalen MySQL 5.0 nicht unterstützt wird.

Meine lokalen WordPress-Installationen verwendeten als Datenbank MySQL in der Version 5.0.41 und diese unterstützten utf8 aber nicht  utf8mb4.  Letzteres bildet ein utf-Zeichen auf 4 statt drei Bytes ab.

Die Lösung Migration auf MySQL 5.5

Die Lösung war, das lokale MySQL von Version 5.0 auf Version 5.5 hoch zu migrieren. Allerdings ist die Version 5.5 schon eine Oracle-Version; ich werde also prüfen, ob ich mittelfristig besser auf MariaDB umsteige.

Die Migration von MySQL-Versionen funktioniert wie folgt:

  • Mit Windows-Service Mysql50: mysqldump -uroot -p –all-databases > dump50.sql
  • Mit Windows-Service Mysql51: mysql -uroot -p <dump50.sql
  • Mit Windows-Service Mysql51: mysql_upgrade  -uroot -p

Man kann Datenbank-Sicherungen auch mit dem WordPress-Plugin Updraft Plus erstellen.

WordPress auf der Synology Diskstation (mit MariaDB)

Installation von WordPress auf der Diskstation DS414

Auf meiner Synology Diskstation DS414 kann ich auch ein WordPress einrichten. Vorbedingung dafür ist (u.a.) die Installation des Datenbanksystems “MariaDB”, was die Diskstation anstelle von MySQL benutzt. MariaDB ist ein sog. fork von MySQL, den die ursprünglichen Entwickler von MySQL vorgenommen hatten, nachdem MySQL an Sun und schließlich an Oracle verkauft worden war.

Auf meiner Diskstation DS414 laufen nun als Dienste:

  • MariaDB Version 5.5.53
  • WordPress Version 4.6.1
  • Apache 2.2
  • PHP 5.6

Konfiguration von WordPress auf der Diskstation DS414

Standardmäßig wird WordPress auf der Diskstation in den Ordner  /volume1/web/wordpress installiert und wird dann mit der URL  http://diskstation/wordpress  aufgerufen.

Da ich als URL aber gerne mein vertrautes http://diskstation/blog.kr8.de haben wollte, habe ich zum Ordner “wordpress” einen Symlink “blog.kr8.de” eingerichtet (per SSH einfach den Befehl ln -s ….). Ich dachte, dann kann die Diskstation das WordPress in unveränderter Art und Weise Starten, Überwachen etc da ja der Name gleichbleibt.

Allerdings kam das WordPress selbst jetzt ein bisschen durcheinander, denn als siteurl stand in der Datenbank ja immer noch der Wert “wordpress”.  Ich habe also in der Datenbanktabelle wp_options den Wert für siteurl auf “diskstation/blog.kr8.de” geändert, was aber zunächst nicht die erhoffte Wirkung hatte, weil offenbar der Wert für siteurl festverdrahtet in der Datei wp-config.php stand (und die Datenbank dazu garnicht genommen wurde):

if ($_SERVER["HOST"] != "") {
define('WP_SITEURL', $pageURL);
} else {
define('WP_SITEURL', $pageURL.'/wordpress');
}

Erst nachdem ich auch hier “/wordpress” in “/blog.kr8.de”  umgeändert hatte, lief mein WordPress auf der Diskstation DS414 sauber unter der url http://diskstation/blog.kr8.de

Ich habe dann aber noch den owner des Ordners  “blog.kr8.de” auf “admin” geändert, weil es bei Update von WordPress-Plugins zu Fehlern durch unzureichende Zugriffsrechte kam.

UpdraftPlus mit WordPress auf der Diskstation mit MariaDB

Nachdem nun alles mit WordPress perfekt auf der Diskstation Ds414 lief, habe ich noch ausprobiert, das am 8.1.2017 mit UpdraftPlus bei Strato gemachte Datenbank-Backup auf der Diskstation einzuspielen. Die MariaDB hat es anstandslos geschluckt.

Es könnte also sinnvoll sein, meine MySQL-Installationen auf den Windows-Rechnern ebenfalls durch MariaDB zu ersetzen…