Fehlerbehebung
Beschädigte Tabellen in einer MySQL-Datenbank
Symptome
Dass eine Fehlermeldung eine Tabelle nennt, beweist keine Beschädigung. Bewahren Sie den genauen Code und die Meldung auf: ungültiges SQL, Berechtigungen, fehlender Speicherplatz, Sperren oder eine nicht existierende Tabelle erfordern unterschiedliche Vorgehensweisen.
Vor der Reparatur:
- Bestätigen Sie mit einer Prüfung, dass die konkrete Tabelle als beschädigt markiert ist.
- Ermitteln Sie ihre Speicher-Engine in phpMyAdmin.
REPAIR TABLEeignet sich für Engines wie MyISAM und unter MariaDB Aria; InnoDB repariert es nicht. - Behalten Sie ein wiederherstellbares Backup. Eine Reparatur kann die Tabelle sperren oder beschädigte Daten verwerfen.
Reparatur über phpMyAdmin
Wählen Sie in phpMyAdmin nur die bestätigte Tabelle mit kompatibler Engine aus und verwenden Sie Tabelle reparieren. Wählen Sie nicht als erste Maßnahme die ganze Datenbank aus.
Reparatur über cPanel
Unter cPanel > Manage My Databases kann Repair Database erscheinen. Diese Aktion wirkt auf die gesamte Datenbank; verwenden Sie sie nur mit verfügbarem Backup und nachdem Sie bestätigt haben, dass sie Tabellen enthält, die dieses Werkzeug reparieren kann.
Reparatur über SSH
Wenn Sie über fortgeschrittene Kenntnisse verfügen und SSH-Zugang aktiviert haben, können Sie die Reparatur mit folgendem Befehl durchführen:
mysqlcheck -u USUARIO -p BASE TABLA mysqlcheck -u USUARIO -p --repair BASE TABLA
Auf MariaDB-Servern kann der entsprechende Befehl mariadb-check lauten. Wenn die Tabelle InnoDB ist, der Server eigene Fehler zeigt oder kein gültiges Backup existiert, brechen Sie den Eingriff ab und wenden Sie sich an den Support; erzwingen Sie keine Wiederherstellung auf dem gemeinsam genutzten Dienst.
Nach der Reparatur prüfen
Bewahren Sie das vollständige Ergebnis von Prüfung und Reparatur auf. Vergleichen Sie Datensatzzahlen und Funktionen der Anwendung mit einer bekannten Referenz; dass sich die Tabelle wieder öffnen lässt, beweist nicht, dass keine beschädigten Datensätze verworfen wurden.
Tritt der Fehler erneut auf, untersuchen Sie Speicherplatz, Protokolle und Serverzustand gemeinsam mit dem Support, bevor Sie die Reparatur wiederholen. Richten Sie keine regelmäßige Reparaturaufgabe als Ersatz für die Diagnose ein und führen Sie keine Werkzeuge auf die physischen Dateien einer Datenbank aus, die in Betrieb ist.
Die Referenz zu REPAIR TABLE beschreibt die Engines und Grenzen. Bei InnoDB muss die Wiederherstellung anhand des Fehlers und des verfügbaren Backups geplant werden.
Das könnte Ihnen auch helfen
- Joomla 1.0 und 1.5 mit MySQL 8, Fehler mit dem reservierten Wort „groups“ Bringen Sie ein Joomla 1.0 oder 1.5 mit MySQL 8 zum Laufen, indem Sie das reservierte Wort groups in...
- Konflikt mit der Drupal-Tabelle „system“ in MySQL 8 (Fehler 1064) Beheben Sie den Fehler 1064 von Drupal 6 und 7 mit MySQL 8 wegen der Tabelle system, einem reservier...
- PrestaShop: „An exception occurred while establishing a connection to figure out your platform version“ Lösung für den Fehler SQLSTATE[HY000] [2026] SSL_CTX_set_default_verify_paths failed beim Installier...
- Warum cPanel und phpMyAdmin unterschiedliche Größen für eine Datenbank anzeigen Erklärt, warum cPanel und phpMyAdmin unterschiedliche Größen berechnen, wie Sie große Tabellen finde...
Stimmt etwas nicht oder hat sich etwas geändert? Erzählen Sie es uns, und wir prüfen es.