MariaDB: MySQL, aber besser™!

Damit mir die Arbeit nicht ausgeht, stelle ich heute von MySQL auf die freie Variante namens MariaDB um. Hintergrund der Aktion: Ich wollte MariaDB schon immer mal ausprobieren, hatte aber noch keine Gelegenheit. Die wäre eigentlich schon vor ein paar Tagen da gewesen, aber… Vergessen. Dann halt jetzt!

Damit bei der Umstellung kein neu hinzugefügter Content verloren geht, stoppe ich erstmal den WordPress-Container:

docker-compose stop blog-wordpress

Anschließend warte ich, bis das Backup-Skript einen neuen Datenbank-Dump erstellt hat:

borg list --last=1
--> backup-af8febc2-a875-4afc-ada5-9f25265af781 Mon, 2018-02-19 18:55:04 [876a781a122e38caeb9148003d2052b8efecdbcc1512cd6a603b4db8f36c57ef]

Ich extrahiere den Dump aus dem Backup:

borg extract --stdout ::backup-af8febc2-a875-4afc-ada5-9f25265af781 var/lib/docker/volumes/hex_blog-wordpress-data/_data/wordpress-dump.sql > /tmp/wordpress-dump.sql

Ein kurzer check, ob der Dump aktuell ist:

tail -1 /tmp/wordpress-dump.sql 
--> -- Dump completed on 2018-02-19 17:55:01

Die Zeit im Dump ist in UTC, während die Ausgabe von borg list in MEZ ist. Der Dump ist also aktuell. Als nächstes wird der MySQL-Container und sein Daten-Volume gelöscht:

docker-compose rm -fs blog-wordpress-mysql && docker volume rm hex_blog-wordpress-data
--> Stopping hex_blog-wordpress-mysql_1 ... done
--> Going to remove hex_blog-wordpress-mysql_1
--> Removing hex_blog-wordpress-mysql_1 ... done
--> hex_blog-wordpress-data

Die alte Datenbank ist jetzt weg. Jetzt wird es Zeit für die neue, die ich natürlich schon in docker-compose.yml konfiguriert habe:

docker-compose up -d blog-wordpress-mariadb
--> Creating volume "hex_blog-wordpress-data" with default driver
--> Creating hex_blog-wordpress-mariadb_1 ... done

In die neue Datenbank wird jetzt noch der Dump importiert:

docker-compose exec -T blog-wordpress-mariadb bash -c 'MYSQL_PWD=${MYSQL_ROOT_PASSWORD} mysql' < /tmp/wordpress-dump.sql

Der Import lief ohne Fehler durch, was angesichts der von MariaDB beworbenen Kompatibilität zu MySQL nicht verwundert. Ich entferne die letzten Spuren von MySQL in der docker-compose.yml und starte WordPress:

docker-compose up -d blog-wordpress
--> Recreating hex_blog-wordpress_1 ... done

Ein kurzer Check auf https://blog.customieze.de/… Läuft!

Schreibe einen Kommentar

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