Como reparar tabelas corrompidas no WordPress
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.
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
- 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.
- 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 ); - 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.
- 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.
- 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
-- 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;














