Man kann sagen, bislang habe ich viel Glück gehabt was Datenbank-Systeme und Schäden betrifft. Am Beispiel von MySQL hatte ich bis dato nur zwei Schäden. Das erste Mal half nur noch die Wiederherstellung aus einem Backup, verursacht wurde der Zustand durch einen unfreiwilligen Absturz aufgrund eines Wackelkontakts an einer USV.

Beim zweiten Mal, weswegen dieser Beitrag entstand, sorgte ein Bluescreen von Windows für eine fehlerhafte Datenbank. Konkret geht es um einen Team MediaPortal-Server auf dem Aufnahmen via MPExtended und WebMediaPortal programmiert werden.

Das Aufrufen der Programmseite im Browser endete mit einer Fehlermeldung. Bei einem Blick auf den Server fand sich im Fehlerprotokoll von MySQL folgende Meldung:

160124  0:33:20 [ERROR] C:\Programme\MySQL\MySQL Server 5.1\bin\mysqld.exe: Table '.\mptvdb\program' is marked as crashed and should be repaired

Nach kurzer Recherche fand sich eine sehr gute Anleitung nach der ich Schritt für Schritt vorging (siehe Quelle).

Hinweis: Ggf. muss man in der jeweiligen Eingabeaufforderung erst in die entsprechenen Verzeichnisse wechseln.

Prüfen in welcher Tabelle Fehler vorliegen:

mysqlcheck -uroot -pMediaPortal mptvdb

Dank des Protokolls war zwar “program” bereits bekannt, allerdings könnte es ja sein, das es noch mehr “Macken” gibt. Es fand sich noch der Hinweis das Clients den Zugriff auf “channel” nicht geschlossen hätten, was kein Problem darstellt.

Um die nachfolgende Reparatur durchführen zu können, muss der MySQL-Dient beendet sein! Im Fall von dieser Installation mussten die Dienste “MPExtended WebMediaPortal”, “MPExtended Service”, “TVService” und “MySQL” in dieser Reihenfolge beendet werden. Nach der Reparatur dann in umgekehrter Reihenfolge wieder Starten oder den Computer neustarten.

myisamchk program.MYI
myisamchk -r program.MY

Der erste Befehl sucht nach Fehlern und schlägt dann die Parameter “-r” oder “-o” vor. Prüft man anschließend noch mal ohne die Parameter sollte alles ok sein (andernfalls hilft nur eine hoffentlich vorhandene Datensicherung).

Dann die Dienste wieder starten und prüfen ob alles ok ist.

Quelle

think eMeidi – MySQL: Table is marked as crashed and should be repaired