O que faz com que as tabelas precisem ser reparadas?

De vez em quando recebo um erro dizendo que uma das minhas tabelas "está marcada como falha e deve ser reparada". Eu então faço uma REPAIR TABLE e reparo. O que faz com que eles sejam marcados como paralisados ​​e como posso evitá-los? Eu estou usando tabelas MyISAM com o MySQL 5.0.45.

0

4 Respostas

Geralmente, isso acontece quando o banco de dados não é desligado corretamente, como um travamento do sistema ou problema de hardware.

0
adicionado

Pode ser muitas coisas, mas outro artigo

0
adicionado

Pode haver algumas razões pelas quais as tabelas são corrompidas, isso é discutido em detalhes no manual .

Para combatê-lo, as seguintes coisas funcionam melhor:

  1. Verifique se você sempre desligou o MySQL corretamente
  2. Considere usar a opção --myisam-recover para verificar/reparar automaticamente suas tabelas caso o desligamento não tenha sido feito corretamente
  3. Verifique se você está nas versões mais recentes, pois os erros conhecidos de corrupção são normalmente corrigidos o mais rápido possível
  4. Verifique seu hardware com um teste para verificar se ele está causando problemas. Ferramentas como sysbench e memtest86 geralmente ajuda a verificar se as coisas estão funcionando como deveriam.
  5. Verifique se nada está tocando o diretório de dados externamente, como verificadores de vírus, programas de backup, etc.
0
adicionado
Eu segui essas etapas anteriormente, mas sempre obtenho tabelas corrompidas e perda de dados. Então eu decidi tratar como minha resposta abaixo e não recebo erros por 2 anos, mesmo tabelas enormes com muitas informações de produto. Eu recomendei minha resposta para todos. Siga estes passos e tenha um bom sono à noite - sem pesadelos :)
adicionado o autor rasputin, fonte

Eu costumava receber erros do MySQL como você.

Eu resolvi meus problemas dessa maneira

  1. Converta para todas as tabelas myisam para o InnoDB (você pode pesquisar "myisam vs InnoDB" em stackoverflow.com e nos mecanismos de busca para descobrir o porquê)
  2. Para obter o melhor desempenho do MySQL, use um programa de terceiros MONYOG (Monitor e Consultor do MySQL) e verifique as dicas de desempenho

Esses dois passos me salvaram. Espero que estes também te ajudem muito.

0
adicionado