MariaDB-Upgrade auf Debian / Ubuntu
Major-Release-Upgrade von MariaDB 10 auf 11 ohne Datenverlust.
Bei einem MariaDB-Upgrade von z.B. Version 10 auf Version 11 bleiben alle aktuellen Datenbanken bestehen. Es gibt also keinen Datenverlust, alles läuft nach dem Upgrade genauso wie vorher.
Zunächst einmal prüfen wir, welche MariaDB-Version wir aktuell installiert haben:
mysql
status
exitHier sehen wir bei Server Version, welche MariaDB-Version wir aktuell
installiert haben. In diesem Fall gehen wir von Version 10.X aus, also
müsste hier sowas wie Server Version: 10.5.21-MariaDB-XXXXX stehen.
Um das Upgrade durchführen zu können, müssen wir den MariaDB-Server erst einmal stoppen und danach sicherheitshalber Backups erstellen:
service mysql stop
cp -R /etc/mysql/ /etc/mysql-backup
cp -R /var/lib/mysql /var/lib/mysql-backupNun haben wir den MariaDB-Server gestoppt und Backups der Dateien erstellt.
Als nächstes müssen wir das neue Repository zu sources.list hinzufügen:
curl -LsS https://r.mariadb.com/downloads/mariadb_repo_setup | sudo bashAls nächstes müssen wir den alten MariaDB-Server löschen, damit wir die neue Version herunterladen können:
apt remove mariadb-*
apt install mariadb-serverIm Anschluss sollten wir prüfen, ob der MariaDB-Server gestartet wurde:
mysqlFalls wir hier einen Fehler erhalten, starten wir den MariaDB-Server manuell und überprüfen, ob die neue Version installiert wurde:
service mysql start
status
exitIn seltenen Fällen gibt es nach der Installation ein paar kleinere Probleme, wenn man sich z.B. mit phpMyAdmin versucht anzumelden. Dieser Fehler könnte z.B. wie folgt aussehen:
error #1231 – Variable 'lc_messages' can't be set to the value of de_DEIn diesem Fall könnte es sein, dass noch ein veralteter Pfad in der
Konfiguration hinterlegt ist. Dazu gehen wir einfach in die
/etc/mysql/mariadb.conf.d/50-server.cnf und ändern den Pfad:
lc-messages-dir = /usr/share/mariadb/german
lc-messages = de_DENun starten wir einfach den MySQL-Server neu und es sollte alles wieder einwandfrei funktionieren. Wenn wir getestet haben, ob wirklich alles korrekt funktioniert und alle vorher erstellten Datenbanken noch funktionieren, können wir die vorhin erstellten Backups löschen:
rm -r /etc/mysql-backup
rm -r /var/lib/mysql-backupFERTIG