WordPress: Welche Datenbank Version von MySQL oder MariaDB

Gehört zu: WordPress

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

Datenbank-Kopien mit Updraft Plus

Wenn ich eine Updraft-Datensicherung einer WordPress-Installation in eine andere einspiele ist das nicht ganz korrekt. Ich muss auf das Datenbank-Präfix achten und der Wert für “siteurl” in der Datenbanktabelle “<praefix>_options” muss manuell angepasst werden.

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…