Tabelle gecrashed

MaksNovalis

New Member
Zunächst mal einen guten Abend ;)

Habe lange in der Suche gesucht aber nichts dazu gefunden.
Ich hatte heute bei einer Tabelle die Meldung:

Table 'tabelle' is marked as crashed and should be repaired

Dank Google und dieses Forums, ging die Fehlerbehebung schnell und unkompliziert. Was ich aber nicht gefunden habe ist, warum dieser Fehler entsteht.

Ich weiß nicht ob man dies Pauschal beantworten kann oder nicht. Würde mich einfach interessieren, wass passieren muss, dass eine Tabelle crashen kann.

Danke im voraus für die (hoffentlich) Antworten ;)

MfG
MaksNovalis
 
Ist dein Server mal abgestürzt, oder hat deine Festplatte Fehler?
Ich könnte mir auch vorstellen, dass dieser Fehler auch durch ein: kill -9 entstehen kann.
 
Hi

ich habe gehört das der SQL Server heute für ne Zeit (5 Mins) nicht erreichbar war. Also durchaus möglich.

Ich muß ehrlich sagen, ich bin gerade in den Bereich etwas reingestossen worden und hab noch nicht den kompletten überblick was wie wann ;)

Auch mit Tabellen, die ihren Dienst verweigern hatte ich heute das erste mal das Vergnügen. Aber anhand deiner Anwort entnehme ich dass es von Technisches Problem durch ausfall, bis hin zu Angriff eingentlich alles gewesen sein kann.

Wobei ich einen Angriff rein aus der Logik ausschließe, weil die Tabelle nicht wirklich wichtig ist und kein Schaden angerichtet wurde.

Wäre es auch möglich das einfach wenn die ID mit zb. Int(2) definiert wurde, einfach zu viele DB Einträge waren? Kann dadurch eine Tabelle crashen?

DANKE im voraus
 
einfach zu viele DB Einträge waren?
Nein. Ein "marked as crashed" hat etwas mit den physikalisch vorhandenen Daten zu tun. Z.B. wenn der Rechner, das System oder nur der MySQL-Server abschmiert aber noch nicht alle gecachten Daten auf die Platte geschrieben hat.
Oder eben wie DJrick schon sagte: Festplatten-Defekt.

Bei jedem Neustart des MySQL-Servers werden alle Tabellen gewissen Prüfungen unterzogen. Wenn eine dieser Prüfung fehl schlägt wird das Crashed-Flag gesetzt. Lesen aus der Tabelle ist meistens möglich, aber ein weiteres Schreiben wird (sinnvollerweise) blockiert.

Falls Du die Tabelle mit dem SQL-Befehl "repair table ..." repariert hast, dann wirst Du auch nicht erfahren haben, was daran kaputt war. Besser ist immer mit z.B. myisamchk die Tabelle anzugehen. Der ist gesprächig und sagt einem meist ob es auch zu Datenverlust gekommen ist oder ob einfach nur der Index durcheinander gewürfelt wurde.

huschi.
 
Ja, zum einen hast Du recht.
Aber zum anderen: Wenn bei InnoDB mal die Datei crasched sind gleich ALLE InnoDB-Tabellen aller Datenbanken futsch.
Klasse Geschichte, stehe ich voll drauf!

huschi.
 
Definiere "crashed". InnoDB garantiert bei richtiger Konfiguration Transaktionssicherheit, auch bei Stromausfällen. Und selbst bei "nicht-richtiger" Konfiguration (Schreib-Cache aktiviert) habe ich noch nie ein Problem mit InnoDB gehabt. Im Gegensatz zu MyISAM, das brauchte schon Repairs als mal die Platte vollgelaufen ist.
 
Mit "Datei crached" meine ich tatsächlich die InnoDB-Datei (also ibdata1). Wenn die einmal richtig abgeraucht ist, dann sind gleich alle InnoDB-Tabellen unwiederherstellbar passé.
Mag sein, dass dies theoretisch nicht passieren sollte, aber in der Praxis habe ich es bereits erlebt.

huschi.
 
Back
Top