MyISAM-table 'cache.MYI' is corrupted - und lässt sich nicht reparieren
am 09.10.2008 - 10:27 Uhr in
Plötzlich waren ganz viele Fehlermeldungen sichtbar, welche auf die cache Tabelle verwiesen. Mit phpmyadmin konnte die Tabelle nicht repariert werden. Dann habe ich das Mysql eigenen Reperaturtool bemüht. Das repariert zwar im ersten Moment die cache Tabelle, aber sobald die Seite wieder aufgerufen wird ist cache.MYI wieder corrupted. Jeglich cache-Funktionen habe ich übrigens ausgestellt.
...
myisamchk chache.MYI
OK
Nach seiten Aufruf wieder folgendes:
myisamchk -r chache.MYI
MyISAM-table 'cache.MYI' is corrupted
Fix it using switch "-r" or "-o"
Wie könnte das Problem gelöst werden und was macht die cache Tabelle wenn caching "off" ist?
- Anmelden oder Registrieren um Kommentare zu schreiben

Die Cache Tabelle ist recht
am 09.10.2008 - 11:06 Uhr
Die Cache Tabelle ist recht unkritisch. Zur Not kannst du die zugehörigen Dateien löschen und die Tabell leer z.B. via phpMyAdmin neu anlegen. Den passenden Code kannst du ja beispielsweise einer anderen Installation mit gleicher Major Version entnehmen.
Das ist nicht gerade die Super-DBA Lösung, aber in diesem speziellen Fall die einfachste und schnellste, ehe man noch lange würgt und macht und tut.
--
Webseiter
Danke für Deine schnelle
am 09.10.2008 - 11:43 Uhr
Danke für Deine schnelle Antwort!
Ich habe jetzt die Tabelle neu erstellt, so:
DROP TABLE IF EXISTS `cache`;CREATE TABLE IF NOT EXISTS `cache` (
`cid` varchar(255) NOT NULL default '',
`data` longblob,
`expire` int(11) NOT NULL default '0',
`created` int(11) NOT NULL default '0',
`headers` text,
PRIMARY KEY (`cid`),
KEY `expire` (`expire`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
Sie wird ja "selbständig" wieder befüllt. Doch auch die neue Tabelle zeigt nach einem Seitenaufruf:
myisamchk cache.MYIChecking MyISAM file: cache.MYI
Data records: 5 Deleted blocks: 0
myisamchk: warning: 1 client is using or hasn't closed the table properly
...
MyISAM-table 'cache.MYI' is usable but should be fixed
Ich rätsel noch, was das bedeutet:
myisamchk: warning: 1 client is using or hasn't closed the table properly?
Zu solchen Fehlern kann es
am 09.10.2008 - 12:23 Uhr
Zu solchen Fehlern kann es kommen, wenn beispielsweise der Server bei einem Schreibvorgang unsanft gekillt wird. Myisamchk sollte man übrigens nur laufen lassen, wenn der MySQL Daemon runtergefahren ist, sonst können sich beide sehrt unschön ind ie Quere kommen.
Mit dem REPAIR auf die Tabelle solltest du nun aber weiterkommen.
--
Webseiter