🎉 USE O CUPOM DESCONTO-FULL | 10% OFF acima de R$ 100,00

Como reparar tabelas corrompidas no WordPress

Time Full Services Time Full Services
Tipo Banco de dados
Nome do erro Como reparar tabelas corrompidas no WordPress
Severidade Crítico
Descrição Reparar tabelas corrompidas no WordPress é o processo de consertar tabelas do banco MySQL/MariaDB que ficaram danificadas e pararam de responder. A corrupção costuma vir de queda de energia, disco cheio ou MySQL desligado no meio de uma escrita, e gera erros como "table is marked as crashed" e tabelas indisponíveis.

O que é tabelas corrompidas no WordPress?

Tabelas corrompidas no WordPress são tabelas do banco MySQL cujos arquivos de dados ou de índice ficaram inconsistentes, fazendo o servidor recusar leituras e escritas nelas. Quando wp_posts, wp_options ou wp_users corrompem, o WordPress perde acesso a conteúdo, configurações ou usuários e o site sai do ar. O reparo reconstrói o índice e os ponteiros internos da tabela, sem apagar o conteúdo, usando o recurso WP_ALLOW_REPAIR, o WP-CLI ou o phpMyAdmin.

Como identificar

  • O wp-admin mostra “One or more database tables are unavailable. The database may need to be repaired.”.
  • No log do MySQL aparece “Table ‘./banco/wp_posts’ is marked as crashed and should be repaired”.
  • Posts, opções ou usuários somem ou não salvam, mesmo com o site no ar.
  • O erro surge após queda de energia, disco cheio ou reinício forçado do servidor de banco.
Antes de começar: Sempre exporte o banco antes de reparar e remova a constante WP_ALLOW_REPAIR imediatamente após terminar: enquanto ela existe, qualquer visitante consegue abrir /wp-admin/maint/repair.php sem autenticação.

Como prevenir

  • Mantenha backups automáticos diários do banco de dados em local externo
  • Monitore o espaço em disco do servidor para o MySQL nunca ficar sem espaço de escrita
  • Use o engine InnoDB (mais resistente a falhas que MyISAM) nas tabelas do WordPress

Erros relacionados

Causa

  • MySQL/MariaDB encerrado abruptamente (queda de energia ou kill -9) no meio de uma escrita na tabela
    Disco do servidor cheio, impedindo o MySQL de gravar os arquivos da tabela por completo
    Tabela MyISAM atingindo o limite de tamanho ou com índice estourado
    Falha de hardware ou setor defeituoso no disco onde ficam os arquivos do banco
    Migração ou cópia incompleta dos arquivos .MYD/.MYI da tabela entre servidores

Como resolver

  1. Faça backup do banco antes de tudo: exporte o banco pelo phpMyAdmin ou via comando antes de qualquer reparo. Operar sobre uma tabela corrompida tem risco, e o backup é a rede de segurança.
  2. Ative o modo de reparo do WordPress: via FTP, adicione a constante ao wp-config.php antes de /* That's all, stop editing! */:
    define( 'WP_ALLOW_REPAIR', true );
  3. Acesse a página de reparo: abra seudominio.com/wp-admin/maint/repair.php no navegador e clique em "Reparar banco de dados" (ou "Reparar e otimizar"). Essa rota funciona sem login enquanto a constante estiver ativa.
  4. Remova a constante depois: apague a linha WP_ALLOW_REPAIR do wp-config.php assim que o reparo terminar. Deixá-la ativa mantém a rota de reparo aberta para qualquer pessoa.
  5. Repare via WP-CLI se preferir o terminal: com acesso SSH, o WP-CLI repara todas as tabelas direto:
    wp db repair
    wp db optimize
SQL
-- Reparo direto no MySQL/MariaDB via phpMyAdmin (aba SQL) ou cliente mysql
-- Repara e checa uma tabela especifica marcada como crashed
REPAIR TABLE wp_posts;
CHECK TABLE wp_posts;

-- Para reconstruir tabela InnoDB (REPAIR so cobre MyISAM):
ALTER TABLE wp_options ENGINE = InnoDB;

Perguntas frequentes

Reparar o banco de dados apaga meu conteúdo?
Não. O reparo reconstrói índices e ponteiros internos da tabela, sem remover posts, páginas ou configurações. Ainda assim, faça backup antes: qualquer operação sobre uma tabela já corrompida tem algum risco.
O que faz a constante WP_ALLOW_REPAIR?
Ela libera a página /wp-admin/maint/repair.php para reparar e otimizar as tabelas sem precisar de login. É um atalho útil quando você nem consegue entrar no painel, mas deve ser removida logo após o uso.
REPAIR TABLE não funciona na minha tabela. Por quê?
REPAIR TABLE só atua em tabelas MyISAM. Se a tabela for InnoDB (padrão nas versões modernas), use ALTER TABLE nome ENGINE=InnoDB para reconstruí-la, ou restaure a tabela a partir de um backup.
Como sei qual tabela está corrompida?
A mensagem de erro nomeia a tabela, por exemplo "Table './banco/wp_posts' is marked as crashed". O log do MySQL e a tela /wp-admin/maint/repair.php também listam exatamente quais tabelas precisam de reparo.
Posso reparar o banco pelo WP-CLI sem mexer no wp-config?
Sim. Com acesso SSH, "wp db repair" repara todas as tabelas e "wp db optimize" as otimiza, sem precisar da constante WP_ALLOW_REPAIR nem abrir nenhuma rota no navegador.
As tabelas corrompem de novo logo depois do reparo. O que fazer?
Corrupção recorrente indica causa de fundo: disco cheio, falha de hardware ou MySQL sendo encerrado à força. Verifique o espaço em disco e a saúde do disco com o suporte da hospedagem, senão o problema volta.

Seja PRO.

Tenha acesso a snippets de código premium — PHP, JavaScript, CSS e HTML prontos para usar em seus projetos.

Conhecer o plano Pro →

Uma nova era para o WordPress.

A FULL Services redefine o CMS com uma arquitetura modular que transforma o WordPress em um motor de crescimento digital. 

Painéis personalizados

Um novo nível de controle para o WordPress. Acompanhe métricas, automações e evolução do seu site em um único painel visual.

A força por trás de grandes marcas

Para agências, estúdios e profissionais independentes que desejam oferecer soluções de alto nível com sua própria marca.

Componentes

Hero Sections

30 componentes

Seções de CTA

14 componentes

Login

14 componentes

Blog

14 componentes

Cabeçalhos

24 componentes

Seções de FAQ

53 componentes

Cadastro

53 componentes

Blog individual

53 componentes

Rodapés

28 componentes

Seções de contato

27 componentes

Seções de preços

27 componentes

Faixas

27 componentes

Portfólio

16 componentes

Seções de equipe

12 componentes

Números

12 componentes

Logotipos

12 componentes