MySQL – SQLSTATE[HY000]: General error: 144 Table is marked as crashed and last (automatic?) repair failed

image_pdfimage_print

Quando este erro ocorre, a primeira coisa necessária a fazer é tentar recuperar manualmente a tabela.

  1. Caso tenha o PHPMyAdmin instalado:
    1. Vá no banco de dados cujo o erro acontece.
    2. Selecione a tabela indicado na mensagem de erro
    3. Execute o reparo (Normalmente a opção fica num select na parte inferior, logo após os nomes das tabelas)
  2. Caso isto não resolva ou apareça um novo erro como:
    1. repair error Can’t create new tempfile
    2. repair status Operation failed
  3. Tente ir no diretório de dados do MySQL.
    1. No caso do Debian fica em /var/lib/mysql/
    2. Acesse o diretório do banco de dados que apresenta o problema
    3. Finalize o processo do MySQL. Ele não poderá estar rodando enquanto os próximos comandos são executadas
    4. Em seguida execute:
      1. myisamchk -r <NOME_DA_TABELA_COM_PROBLEMA>
    5. Reinicialize o MySQL e verifique se o problema foi resolvido.
    6. Caso contrário, finalize novamente o MySQL e execute o comando abaixo:
      1. myisamchk -r -v -f <NOME_DA_TABELA_COM_PROBLEMA>

Desta maneira, o problema tende a ser resolvido, a tabela é reparada porém, é importante verificar se nenhum dado ou operação sobre os dados da tabela foi perdido.

Gostou? Tire um minutinho e dê sua contribuição para Drall Dev Community no Patreon!