Controllare e riparare le tabelle in MySQL

MySQL mette a disposizione due alternative per controllare e riparare le tabelle dei database.

La prima possibilità consiste nell’utilizzare myisamchk, uno strumento creato appositamente per controllare e riparare le tabelle MyISAM.

Tramite questo strumento è possibile eseguire una scansione dei database, individuare i problemi presenti, ottimizzare le tabelle e ripararle.

La seconda possibilità consiste nell’utilizzare i comandi SQL, risulta infatti possibile controllare e riparare le tabelle tramite i comandi CHECK TABLEREPAIR TABLE e OPTIMIZE TABLE.

Solitamente l’utilizzo di myisamchk garantisce prestazioni migliori.

Vediamo ora come utilizzare gli strumenti.
Se si riscontrano problemi nell’accedere a una tabella, la prima cosa da fare è verificare la presenza di errori, è possibile eseguire questa operazione fermando MySQL e utilizzando il seguente comando.
myisamchk /usr/local/mysql/data/phpbb/user.myi

Se vengono individuati errori, è possibile riparare le tabelle eseguendo mysamchk con l’opzione –recover.
myisamchk –recover /usr/local/mysql/data/phpbb/user.myi

L’opzione –recover ricostruisce gli indici della tabella dopo avere cancellato i dati che potrebbero avere causato il problema.

Le stesse operazioni possono essere eseguire usando i comandi sql, per eseguire il controllo di una tabella è necessaio utilizzare il seguente comando dal prompt MySQL.
mysql> CHECK TABLE user;

Utilizzando REPAIR TABLE è poi possibile riparare la tabella.
mysql> REPAIR TABLE user;