Como reparar uma tabela MySQL corrompida pelo phpMyAdmin ou linha de comando
Oi! Aqui é a Sensei da GeHost 🦉 Se o seu site apareceu com um erro estranho tipo "Table './seubanco/tabela' is marked as crashed" ou algo parecido, respira fundo: isso é mais comum do que parece e, na maioria das vezes, tem conserto rápido. Vamos juntos, passo a passo, sem enrolação.
Dica da Sensei: "corrompida" não significa que seus dados sumiram. Na grande maioria dos casos é só um índice ou estrutura interna da tabela que ficou inconsistente — geralmente depois de uma queda de energia, um script que travou no meio de uma gravação, ou um plugin mal comportado (WordPress, eu sei que é você às vezes 😅). O reparo resolve isso sem apagar suas informações.
Antes de mais nada: faça um backup
Sei que dá vontade de sair clicando em "reparar" na hora, mas o primeiro passo sempre é se proteger. Vá até a área de Backup do seu cPanel e gere ao menos um backup do banco de dados envolvido. Assim, se algo sair diferente do esperado, você tem uma cópia de segurança pra recorrer.
Opção 1: Reparando pelo phpMyAdmin (o jeito mais fácil)
Essa é a forma mais amigável, ideal se você não tem intimidade com comandos. Vamos lá:
- Acesse o seu cPanel com o usuário e senha do seu plano de hospedagem.
- Na tela inicial, procure a seção de Banco de Dados e clique em "Bancos de Dados MySQL".
- Nessa mesma área (ou no menu de Banco de Dados do cPanel) você vai encontrar o atalho para o phpMyAdmin — é ele quem vai fazer o trabalho pesado.
- Dentro do phpMyAdmin, no menu lateral esquerdo, clique no nome do banco de dados que está com problema. Vai aparecer a lista de todas as tabelas dele.
- Marque a caixinha ao lado da tabela corrompida (se não souber qual é, pode marcar todas — não tem problema em reparar uma tabela saudável, o phpMyAdmin só pula ela).
- Role a tela até o final, onde tem um menu chamado "Com a(s) tabela(s) marcada(s):". Clique nele e escolha a opção "Reparar tabela" (em inglês, "Repair table").
- Pronto! O phpMyAdmin vai mostrar um relatório dizendo se a tabela foi reparada com sucesso (status: OK).
Dica da Sensei: se a opção "Reparar tabela" não aparecer no menu, é porque a tabela usa um tipo de motor (engine) que não suporta esse comando por ali, como o InnoDB. Não se preocupe — é só seguir para a Opção 2 abaixo, que resolve praticamente qualquer caso.
Opção 2: Reparando por linha de comando (SSH)
Se você tem acesso via SSH ao seu plano e já se sente confortável com terminal, esse caminho costuma ser ainda mais rápido e funciona bem tanto para tabelas MyISAM quanto InnoDB.
- Conecte-se à sua hospedagem via SSH normalmente.
- Use a ferramenta mysqlcheck, que foi feita exatamente pra isso. O comando básico é:
mysqlcheck -u SEU_USUARIO -p --auto-repair --check NOME_DO_BANCO
- SEU_USUARIO é o usuário do banco de dados (não confunda com o usuário do cPanel).
- O parâmetro -p vai pedir a senha do banco na hora — é normal a tela não mostrar nada enquanto você digita.
- NOME_DO_BANCO é o nome do banco de dados que você quer checar e reparar.
Se quiser checar (e reparar automaticamente, se precisar) todos os bancos de uma vez, use:
mysqlcheck -u SEU_USUARIO -p --auto-repair --all-databases
O sistema vai listar tabela por tabela, mostrando OK para as que estão saudáveis e repaired para as que precisaram de conserto.
Dica da Sensei: não sabe seu usuário e senha de banco de dados? Eles ficam configurados na mesma tela de "Bancos de Dados MySQL" do cPanel que mostramos ali em cima. E se preferir, nosso suporte também te ajuda a localizar essa informação com tranquilidade.
E se o problema continuar depois do reparo?
Às vezes a corrupção é reflexo de outra coisa — um plugin desatualizado, um script rodando fora de hora, ou um pico de uso que interrompeu uma gravação no banco. Se o erro voltar a aparecer com frequência, vale a pena:
- Atualizar o sistema (WordPress, plugins, temas) para a versão mais recente;
- Revisar se algum script seu está sendo interrompido no meio de uma operação no banco;
- Falar com o nosso suporte para investigarmos juntos a causa — estamos aqui pra isso.
E lembre-se: você teve 30 dias de suporte gratuito logo após a entrega da sua hospedagem para casos como esse. Fora desse período, é só abrir um chamado normalmente pelo painel.gehost.com.br que a equipe te atende com todo cuidado. 💙
Resumo rápido da Sensei: backup primeiro, depois phpMyAdmin → "Reparar tabela" (mais fácil) ou mysqlcheck --auto-repair via SSH (mais poderoso). Na dúvida, chama o suporte — a gente resolve com você.