Si no s'incia el teu mysql des de XAMPP i al visor de succesos de Windows veus el següent error: "mysqld: Index for table '.\mysql\db' is corrupt; try to repair it" hem trobat 3 maneres per reparar-lo.
Es molt simple.
Primera manera:
Obre la consola/shell des de el panell de control del teu XAMPP. Enganxa aquest codi: mysqld –-console –-skip-grant-tables –-skip-external-locking
Obre un altra shell(sense tancar la primera) i escriu:
mysqlcheck -r --databases mysql --use-frm
Tanca els 2 shells i ja hauries de poder iniciar (sino està iniciat ja)
Segona manera:
El mysql te una carpeta de backup on guarda una copia de les taules.
La carpeta backup la podeu trobar, si teniu la ruta per defecte en Windows, a la seguent ruta: "c:\xampp\mysql\backup"
Feu copia de la taula db original (en aquest cas la taula db) (solen ser 3 fitxers), que esta dins de "c:\xampp\mysql\data" (o canvieu-li el nom) i allà mateix copieu la taula db (els 3 fitxers) que es troba dins de la carpeta backup.
Fent això es soluciona aquest problema
Proveu d'iniciar el mysql per comprovar-ho.
Tot i que potser us donarà altres errors amb altres taules que haureu de reparar des de phpmyadmin o be intentar recuperar la taula db antiga com expliquem a continuació:
Torneu a deixar els fitxers corromputs amb el nom original i els que hem rescatat de la carpeta backup treure'ls. COm ja teniu el mysql inciat, utilitzeu, per exemple, el phpmyadmin per a reparar la taula.
A nosaltres ens ha funcionat