Fehlerhafte MySQL- oder MariaDB-Datenbanken verlangen eine vorsichtige Diagnose. Reparaturbefehle ohne Backup können Schäden vergrößern, besonders bei InnoDB. Zuerst müssen Speicher, Dateisystem, Protokolle und Wiederherstellung geprüft werden.

Fehlerbild eingrenzen

systemctl status mysql
journalctl -u mysql -b --no-pager | tail -n 100
df -h
df -i

Volle Datenträger, fehlende Inodes oder ein beschädigtes Dateisystem können Datenbankfehler verursachen. Behebe die Ursache zuerst.

Backup vor Reparatur

Wenn der Server lesbar ist, exportiere wichtige Datenbanken. Sichere das Datenverzeichnis nur konsistent im gestoppten Zustand oder per Snapshot.

mysqldump --single-transaction --routines --events DATENBANK > backup.sql

Wichtig: Kopiere InnoDB-Dateien nicht blind zwischen Servern.

Tabellen prüfen

mysqlcheck --all-databases --check

REPAIR TABLE ist hauptsächlich für Storage-Engines wie MyISAM relevant. InnoDB wird über Recovery oder Restore behandelt.

Wiederherstellung testen

  • Kompatible Datenbankinstanz bereitstellen.
  • Backup importieren.
  • Zeichensatz und Routinen kontrollieren.
  • Anwendungstests durchführen.
  • Erst danach produktiv umschalten.

Vorbeugung

Automatisiere verschlüsselte Backups, überwache Speicherplatz und führe Restore-Tests durch. Replikation ersetzt kein versioniertes Backup.

Fazit

Eine sichere MySQL-Reparatur beginnt mit Diagnose und Sicherung. Bei InnoDB ist ein geprüfter Restore oft zuverlässiger als aggressive Reparaturversuche.