Já precisou reparar tabelas corrompidas em seu banco de dados MySQL?
Por vezes, pode acontecer de uma tabela do MySQL estar corrompida. Isso acontece quando o storage engine da tabela é o MyISAM. O MyISAM não é mais o motor padrão do MySQL desde a versão 5.6. O padrão atual é o InnoDB (default na 5.6 e 5.7 e possivelmente nas próximas), onde não acontece esse tipo de dificuldade.
Documentação oficial: https://dev.mysql.com/doc/refman/8.0/en/corrupted-myisam-tables.html.
Por que as tabelas corrompem?
Ainda que o formato MyISAM seja bom, útil e confiável (todas as alterações feitas em uma tabela feita por uma instrução SQL são gravadas antes que a instrução retorne), as tabelas podem corromper se algum dos seguintes eventos ocorrer:
O processo mysqld é interrompido (kill) no meio da escrita;
O servidor de banco de dados é desligado;
Falhas de hardware;
Algum bug no MySQL ou no MyISAM;
Uso de um programa externo modificando uma tabela enquanto também é modificada pelo server ao mesmo tempo.
Reparar tabelas corrompidas
As tabelas podem ser reparadas através do phpMyAdmin e você mesmo tem acesso a esta funcionalidade.
É importante realizar o backup da base de dados antes de fazer qualquer alteração.
Também pode ser alterado o storage engine para o InnoDB através do seguinte comando e assim evitar futuras dificuldades:
Altere o termo nome-da-tabela de acordo com a situação.
ALTER TABLE nome-da-tabela ENGINE=InnoDB;