Layer 06

Riparare tabelle in MySQL

Invalid SQL:

SELECT * FROM tabella Where ….. MySQL Error : Can’t open file: ‘tabella.MYI’ (errno: 144) Error Number : 1016 Se la tabella è corrotta si posso fare soltanto 2 cose:
  • Sostituirla con l’ultimo backup (sempre che ci sia)
  • Tentare di ripararla
Affrontiamo la seconda opzione che è la più logica. Entrate in mysql in console, collegatevi al database contenente la tabella incriminata e lanciate il seguente comando:

REPAIR TABLE tabella;

Se tutto va bene dovrebbe resistuirvi status=OK Potrebbe far fatica a ricostruire gli indici, dando l’errore Not enough memory for sort-key-blocks dobbiamo comunque essere sicuri di avere abbastanza spazio su disco, è un’operazione molto dispendiosa. Se ancora l’errore persiste si può sempre fare un altro tentativo: Uscite dalla shell di mysql, andate nella directory fisica del Database e lanciate il seguente comando:

myisamchk -c tabella.MYI

Se anche così vi restituisce errore, lanciate los tesso comando con l’opzione -r

myisamchk -r movimientos.MYI

Se ancora non va, l’unica alternativa è rassegnarsi, ripristinate il backup più recente.]]>