Può capitare che le tabelle di un database MySQL si corrompano, maggiormente soggette ad incidenti sono le tabelle classiche di tipo MyISAM. In questi casi un utile strumento per il controllo e la riparazione è il programma mysqlcheck, che può essere usato mentre il server è in funzione. Ad esempio per fare un controllo ed eventuale riparazione di tutte le tabelle del database miodatabase:
[root]# mysqlcheck miodatabase -uroot -pmiapass Enter password: miodatabase.tabella1 warning : 3 clients are using or haven't closed the table properly status : OK miodatabase.tabella2 OK miodatabase.tabella3 OKPer limitarsi ad una singola tabella:
[root]# mysqlcheck miodatabase tabella1 -uroot -pmiapassPer un controllo a tappeto su tutti i database (anche se una simile operazione va' valutata con attenzione: il tempo impiegato può essere molto lungo se le tabelle sono di grandi dimensioni):
[root]# mysqlcheck --all-databases -uroot -pmiapassIl comando mysqlcheck nelle sue operazioni utilizza le istruzioni SQL CHECK TABLE, REPAIR TABLE, ANALYZE TABLE, OPTIMIZE TABLE. Come già accennato esegue un read lock delle tabelle potendo così agire anche mentre MySQL sta funzionando differentemente dal comando myisamchk.