Wie repariere ich beschädigte Tabellen direkt aus Sequel Ace heraus?
- Kurzüberblick: Was bedeutet „beschädigte Tabellen“?
- Vorbereitung: Backup erstellen
- Prüfung des Tabellentyps und Zustand ermitteln
- Reparatur von MyISAM-Tabellen direkt per Query
- Umgang mit InnoDB-Tabellen
- Wiederherstellung aus Dump und Neuaufbau
- Nachkontrolle und Prävention
Kurzüberblick: Was bedeutet „beschädigte Tabellen“?
Beschädigte Tabellen in MySQL/MariaDB können verschiedene Symptome zeigen: Fehlermeldungen beim Abfragen, Tabellen lassen sich nicht öffnen, Daten erscheinen korrupt oder MySQL meldet MyISAM- oder InnoDB-Fehler. In Sequel Ace selbst gibt es keine eingebaute "Reparieren"-Schaltfläche für alle Fälle, aber Sie können aus der App heraus Wartungs- und Reparaturbefehle ausführen, Dumps anlegen oder externe Tools anstoßen. Die folgende Anleitung erläutert praxisnah, wie Sie Tabellen direkt aus Sequel Ace prüfen und soweit möglich reparieren.
Vorbereitung: Backup erstellen
Bevor Sie Reparaturversuche starten, erzeugen Sie ein vollständiges Backup der betroffenen Datenbank oder zumindest der fraglichen Tabelle. In Sequel Ace wählen Sie die Datenbank, rechts oben Export (oder File → Export) und erstellen einen SQL-Dump der Tabelle(n). Alternativ können Sie im Query-Editor ein SELECT INTO OUTFILE oder mysqldump über die Kommandozeile nutzen. Ein Backup schützt vor Datenverlust durch missglückte Reparaturversuche.
Prüfung des Tabellentyps und Zustand ermitteln
Öffnen Sie in Sequel Ace die betroffene Tabelle und prüfen Sie den Tabellentyp (ENGINE) aus der Struktur-Ansicht oder mit SHOW TABLE STATUS LIKE "tabelle"; im Query-Editor. MyISAM-Tabellen lassen sich oft mit CHECK TABLE und REPAIR TABLE beheben, InnoDB-Tables reagieren anders: hier nutzt man CHECK TABLE zur Diagnose, echte Reparaturen erfolgen meist über InnoDB-Wiederherstellungsoptionen oder Wiederherstellung aus Dump/Redo-Log.
Reparatur von MyISAM-Tabellen direkt per Query
Für MyISAM führen Sie in Sequel Ace im Query-Editor zunächst CHECK TABLE tabelle; aus, um Fehler anzuzeigen. Wenn CHECK Fehler meldet, führen Sie REPAIR TABLE tabelle; aus. REPAIR hat Optionen wie QUICK oder EXTENDED: REPAIR TABLE tabelle QUICK; kann schneller sein, EXTENDED gründlicher. Nach Abschluss erneut CHECK TABLE ausführen, bis keine Fehler mehr gemeldet werden.
Umgang mit InnoDB-Tabellen
InnoDB-Tabellen lassen sich nicht zuverlässig mit REPAIR TABLE reparieren. Führen Sie CHECK TABLE tabelle; zur Diagnose aus. Für InnoDB-Probleme sind die üblichen Schritte: Dump der Datenbank/Tabellen mit mysqldump (oder Export in Sequel Ace), MySQL-Server ordnungsgemäß stoppen, ggf. InnoDB-Logdateien prüfen oder InnoDB-Recovery-Modi in my.cnf setzen (innodb_force_recovery), Server neu starten und Daten extrahieren. Diese Schritte können nicht vollständig aus Sequel Ace automatisiert werden; Sie können aber per Export in Sequel Ace die Daten sichern und anschließend extern wiederherstellen.
Wiederherstellung aus Dump und Neuaufbau
Wenn Repair-Befehle nicht helfen, exportieren Sie die Tabelle per SQL-Dump in Sequel Ace und löschen Sie die defekte Tabelle (DROP TABLE). Anschließend legen Sie die Tabelle neu an (CREATE TABLE) und importieren den Dump, um Datenkonsistenz wiederherzustellen. Achten Sie auf Fremdschlüsselreihenfolge und Transaktionen bei InnoDB.
Nachkontrolle und Prävention
Führen Sie nach der Reparatur CHECK TABLE sowie SELECT-Abfragen durch, um Konsistenz zu prüfen. Überwachen Sie Serverlogs auf Hinweise zur Ursache (z. B. unerwartete Abstürze, Hardwarefehler). Regelmäßige Backups, sauberes Herunterfahren des DB-Servers und Monitoring reduzieren zukünftige Beschädigungen.
Wenn die Tabelle kritisch ist oder Reparaturschritte zu riskant erscheinen, ziehen Sie in Erwägung, einen DBA hinzuzuziehen.
