A mensagem Table is marked as crashed and should be repaired quer dizer que uma tabela, quase sempre do tipo MyISAM, ficou com o ficheiro inconsistente, em regra por uma paragem a meio de uma escrita. Resolve-se, na maior parte dos casos, com Reparar tabela no phpMyAdmin ou no cPanel. Faça primeiro uma cópia do que consegue ler.
Passo a passo
| 1 |
Cópia primeiro. Se consegue exportar, exporte. Veja exportar com o phpMyAdmin. Se não consegue, guarde pelo menos o nome da tabela e a mensagem completa.
|
|
| 2 |
No cPanel, abra MySQL Databases. Em Modify Databases, escolha a base e clique em Repair DB.
|
|
| 3 |
Ou no phpMyAdmin: abra a base, marque a tabela, e no menu «Com os seleccionados» escolha Reparar tabela. É o mesmo que executar REPAIR TABLE nome_da_tabela; no separador SQL.
|
|
| 4 |
Corra CHECK TABLE nome_da_tabela; e confirme que o estado é OK.
|
|
| 5 |
Abra o site e confirme que a mensagem desapareceu.
|
|
| 6 |
Para evitar que volte, converta a tabela para InnoDB: ALTER TABLE nome_da_tabela ENGINE=InnoDB;. Faça-o com a cópia feita.
|
|
| Situação |
O que fazer |
| MyISAM com a mensagem «crashed» |
REPAIR TABLE. Costuma bastar. |
| InnoDB com erros |
O REPAIR TABLE não se aplica. Reponha a partir de uma cópia. Veja repor os seus dados com o JetBackup. |
| O reparo falha ou perde linhas |
Reponha a tabela, ou a base, da cópia mais recente que tiver. |
| No WordPress, vários erros em tabelas |
Use o reparo do próprio WordPress (abaixo). |
O reparo do WordPress deixa uma porta aberta. Acrescente define('WP_ALLOW_REPAIR', true); ao wp-config.php, abra /wp-admin/maint/repair.php no site, repare e retire a linha logo a seguir: enquanto lá estiver, qualquer pessoa pode abrir essa página, sem entrar. E se vê a mensagem uma só vez, após uma falha, pode ter sido um incidente isolado; se volta, ponha o motor InnoDB e veja se há falta de espaço em disco.
|
Porque acontece
Uma tabela fica marcada como danificada quando algo interrompe a escrita a meio: um reinício do servidor, um processo que morre por falta de recursos, ou a conta sem espaço para gravar. As tabelas MyISAM são as mais sensíveis a isto, porque não têm o registo que o InnoDB usa para se recompor sozinho. É por isso que o conselho de fundo é usar InnoDB. Uma tabela marcada como danificada não quer dizer que alguém entrou no site: quase sempre é só uma escrita que ficou a meio.
|
O reparo não resolveu ou a base ficou incompleta? Diga-nos o nome da base e a mensagem e vemos o que se recupera.
Abrir um pedido de suporte
|
PRODUTO RECOMENDADO Alojamento de sites com cPanel Domínio e SSL incluídos, cópias diárias e o painel que já conhece. desde $6.60/mês (plano de 3 anos, com cupão) Ver planos |