Erro ao estabelecer uma conexão com o banco de dados

Erro de Conexão com o Banco de Dados no WordPress: Como Resolver

Site fora do ar com uma tela branca escrita “Error establishing a database connection” é um dos chamados mais comuns de suporte WordPress, e também um dos que mais assusta cliente — parece que o site “sumiu”, quando na maioria das vezes é um problema simples de credencial ou servidor temporariamente fora. Vamos por ordem, do mais provável pro menos provável.

Passo 1: confira as quatro credenciais no wp-config.php

Abra o arquivo wp-config.php na raiz da instalação (via FTP ou gerenciador de arquivos do painel de hospedagem) e confira estas quatro constantes:

  • DB_NAME — nome do banco de dados
  • DB_USER — usuário do banco
  • DB_PASSWORD — senha do usuário
  • DB_HOST — endereço do servidor de banco de dados

O erro mais comum depois de uma migração de hospedagem é o DB_HOST errado — muita gente assume que é sempre “localhost”, mas vários provedores usam um endereço específico (algo como mysql.seudominio.com.br ou um IP interno). Confira essa informação no painel de hospedagem, não assuma.

Passo 2: teste as credenciais fora do WordPress

Antes de mexer em qualquer outra coisa, confirme que o problema é mesmo de credencial e não de outra causa. Crie um arquivo de teste simples na raiz do site:

<?php
$link = mysqli_connect('DB_HOST', 'DB_USER', 'DB_PASSWORD', 'DB_NAME');
if (!$link) {
    die('Erro: ' . mysqli_connect_error());
}
echo 'Conexão OK';
?>

Substitua os valores pelos reais do seu wp-config.php e acesse esse arquivo pelo navegador. Se aparecer “Conexão OK”, o problema não é credencial — é mais provável ser tabela corrompida ou plugin. Se der erro, o problema é exatamente o que a mensagem de erro do mysqli disser (senha errada, host errado, ou banco inexistente).

Apague esse arquivo de teste depois de usar — deixá-lo no ar expõe suas credenciais de banco pra qualquer um que descubra o nome do arquivo.

Passo 3: confira se o servidor de banco está no ar

Em hospedagem compartilhada, é comum o servidor MySQL ficar temporariamente sobrecarregado ou em manutenção. Acesse o painel de controle da hospedagem (cPanel, Plesk, ou o painel próprio do provedor) e veja se há algum aviso de manutenção ou indisponibilidade do banco de dados. Muitos provedores mostram o status dos serviços numa página separada de status.

Passo 4: confira o prefixo das tabelas

Se o site funcionava e parou de funcionar depois de uma restauração de backup ou migração manual, confira se o prefixo configurado em $table_prefix no wp-config.php bate com o prefixo real das tabelas no banco (visível no phpMyAdmin). É comum, ao restaurar backup de outro site, o prefixo ficar descasado — o WordPress procura tabelas com um prefixo que não existe e trata isso como falha de conexão.

Quando não é bem “conexão”, e sim tabela corrompida

Se as credenciais estão certas e o teste do passo 2 funcionou, mas o WordPress continua mostrando o erro, o problema pode ser uma tabela corrompida no banco — geralmente depois de uma queda de energia no servidor ou um processo interrompido no meio. O próprio WordPress tem uma ferramenta de reparo: adicione esta linha no wp-config.php, temporariamente:

define('WP_ALLOW_REPAIR', true);

Depois acesse seusite.com.br/wp-admin/maint/repair.php pelo navegador e use a opção “Reparar banco de dados”. Remova essa linha do wp-config.php assim que terminar — deixá-la ativa permite que qualquer visitante acesse essa ferramenta de reparo sem autenticação.

Problemas comuns

Erro aparece só às vezes, não sempre

Isso costuma indicar sobrecarga do servidor de banco de dados em horários de pico, não erro de configuração. Considere um plugin de cache (isso reduz consultas ao banco) ou conversar com a hospedagem sobre limite de conexões simultâneas do plano.

Erro apareceu depois de instalar ou atualizar um plugin

Renomeie a pasta do plugin suspeito via FTP (por exemplo, de nome-do-plugin para nome-do-plugin-desativado) — isso desativa o plugin à força sem precisar acessar o admin. Se o erro sumir, o plugin era a causa.

Erro só aparece na área administrativa (wp-admin), o site público funciona

Isso geralmente indica um object cache (Redis ou Memcached) mal configurado, não o banco em si — o WordPress usa uma mensagem parecida pra falhas de cache de objeto. Confira o arquivo wp-content/object-cache.php, se existir, e considere removê-lo temporariamente pra testar.

Perguntas frequentes

Perco dados quando esse erro acontece?

Não diretamente — o erro é de conexão, não de perda de dados. Os dados continuam no banco; o problema é o WordPress não conseguir acessá-los no momento.

Preciso reinstalar o WordPress pra resolver isso?

Quase nunca. Esse erro é praticamente sempre configuração, servidor ou tabela — reinstalar os arquivos do WordPress não resolve nenhuma dessas causas.

Como sei se o problema é meu site ou a hospedagem inteira?

Tente acessar o phpMyAdmin do painel de hospedagem. Se ele também não conectar no banco, o problema é do servidor da hospedagem, não da sua configuração específica.

Migrei o site pra outra hospedagem e o erro apareceu. Por onde começo?

Comece sempre pelo DB_HOST — é de longe a causa mais comum depois de migração, porque cada provedor usa um padrão diferente. Confirme o valor certo na documentação ou no suporte da nova hospedagem antes de investigar qualquer outra coisa.

Se você está montando ou mantendo um site WordPress do zero, vale conferir também nosso guia de backup do WordPress — ter um backup recente é o que transforma esse tipo de problema em 10 minutos de solução em vez de uma crise. E se você ainda está decidindo a plataforma certa, veja como identificar se um site é feito em WordPress.

Posted in WordPress.

Patrocinadores

suporte de ti                    marketing digital