Moin,
gestern Abend habe ich ein mal nach langer Laufzeit (zirka 5 Monate jetzt) ein zypper up gemacht .. (davor war noch das Release 2023.11.1 drauf)
Direkt danach konnte der MariaDB Server nicht mehr starten und Grommunio dienste auch nicht.
Fehlermeldung unter systemctl status mariadb.service:
mysql.help_category
Error : Incorrect file format 'help_category'
error : Corrupt
mysql.help_keyword
Error : Incorrect file format 'help_keyword'
error : Corrupt
mysql.help_relation
Error : Incorrect file format 'help_relation'
error : Corrupt
mysql.help_topic
Error : Incorrect file format 'help_topic'
error : Corrupt
mysql.index_stats
Error : Incorrect file format 'index_stats'
error : Corrupt
mysql.table_stats
Error : Incorrect file format 'table_stats'
error : Corrupt
Phase 2/8: Installing used storage engines... Skipped
Phase 3/8: Running 'mysql_fix_privilege_tables'
ERROR 130 (HY000) at line 27: Incorrect file format 'help_topic'
ERROR 130 (HY000) at line 28: Incorrect file format 'help_category'
ERROR 130 (HY000) at line 29: Incorrect file format 'help_relation'
ERROR 130 (HY000) at line 30: Incorrect file format 'help_keyword'
ERROR 130 (HY000) at line 31: Incorrect file format 'table_stats'
ERROR 130 (HY000) at line 33: Incorrect file format 'index_stats'
ERROR 130 (HY000) at line 508: Incorrect file format 'help_category'
ERROR 130 (HY000) at line 509: Incorrect file format 'help_topic'
FATAL ERROR: Upgrade failed
Upgrade failed
Shutting down protected MySQL
Final cleanup
Something failed during upgrade, please check logs
Hier die Lösung, für jeden der das selbe Problem hat.
#!/bin/bash
Wechseln in das Verzeichnis mit den MySQL-Systemdatenbanken
cd /var/lib/mysql/mysql
Erstellen eines Backups des MySQL-Systemdatenbank-Verzeichnisses
cp -r /var/lib/mysql/mysql /var/lib/mysql/mysql_backup
Entfernen bestimmter Dateien, die möglicherweise veraltet oder beschädigt sind
rm table_stats* help_keyword* help_topic* help_category* help_relation* index_stats*
Initialisieren der MySQL-Datenbank ohne root-Passwort (unsicher)
mysqld --initialize-insecure --user=mysql
Durchführung eines Upgrades der MySQL-Systemdatenbank
/usr/lib/mysql/mysql-systemd-helper upgrade
Neustarten des MariaDB-Dienstes, um die Änderungen zu übernehmen
systemctl restart mariadb.service
Neustarten der Grommunio-Dienste
systemctl restart gromox-zcore.service gromox-http.service gromox-delivery.service grommunio-index.service grommunio-fetchmail.service
Oder einfach ein Backup einspielen 🙂