Skip to content

Tudo para WordPress, desenvolvimento web — e não só

🔧 Erro de ligação à base de dados do WordPress: uma solução rápida

🔧 Erro de ligação à base de dados do WordPress: uma solução rápida

O site desapareceu, dando lugar a um vazio branco com uma única linha: «Error establishing a database connection.» Não entre em pânico. Isto não é um ataque informático nem a morte da base de dados. Nove em cada dez vezes, o problema resolve-se em cinco minutos.

Na prática, todos os proprietários de WordPress se deparam com este erro em algum momento. A causa é quase sempre trivial: uma palavra-passe errada no wp-config.php, um servidor MySQL que foi abaixo ou uma tabela corrompida após uma atualização falhada de um plugin.

Abaixo encontrará quatro formas comprovadas de trazer o site de volta à vida, desde a solução mais comum até ao último recurso. Antes de mexer na base de dados, faça uma cópia de segurança.

💡 Resumo rápido:

  • Verifique as credenciais MySQL no wp-config.php (a causa mais comum)
  • Execute a ferramenta de reparação integrada da base de dados através do WP_ALLOW_REPAIR
  • Substitua os ficheiros principais corrompidos do WordPress por uma cópia nova
  • Se nada funcionar, restaure o site a partir de uma cópia de segurança
Erro de ligação à base de dados num ecrã branco do WordPress

Por que razão ocorre o erro de ligação à base de dados

O WordPress armazena todo o conteúdo (artigos, páginas, configurações, utilizadores) numa base de dados MySQL. Quando um navegador solicita uma página, o núcleo PHP do WordPress consulta a base de dados, obtém os dados e monta o HTML. Se a ligação entre o núcleo e a base de dados se quebrar, vê um ecrã branco com uma mensagem de erro.

Existem quatro razões para esta quebra:

  • Credenciais erradas. O nome de utilizador, a palavra-passe ou o servidor da base de dados no wp-config.php não correspondem aos valores reais. Isto acontece após migrar para um alojamento diferente ou redefinir a palavra-passe do MySQL.
  • A base de dados está em baixo. O servidor MySQL no alojamento parou devido a sobrecarga, manutenção ou limites excedidos.
  • Tabelas corrompidas. Um plugin ou tema danificou as tabelas do sistema durante a instalação ou remoção. Isto é comum com plugins de cache e otimização.
  • Ficheiros principais danificados. Uma transferência FTP incompleta, uma atualização automática falhada do WordPress ou código malicioso.

Vamos identificar a causa específica passo a passo, da mais provável para a menos provável.

Passo 1: Verifique as credenciais no wp-config.php

Comece pela solução mais simples. O ficheiro wp-config.php está na raiz do site e contém quatro linhas essenciais para a ligação à base de dados:

1define('DB_NAME', 'database_name');
2define('DB_USER', 'username');
3define('DB_PASSWORD', 'password');
4define('DB_HOST', 'localhost');
O ficheiro wp-config.php com credenciais da base de dados MySQL

Abra o ficheiro através do gestor de ficheiros do seu alojamento ou via FTP e compare cada valor com os que aparecem no painel de controlo do alojamento em «Bases de Dados MySQL» ou no phpMyAdmin.

Preste atenção ao DB_HOST. A maioria dos alojamentos usa localhost, mas alguns (especialmente configurações cloud e em cluster) fornecem um endereço IP separado ou um domínio de servidor de base de dados. Se mudou recentemente de plano ou de alojamento, verifique este parâmetro primeiro.

Depois de alterar os valores, guarde o ficheiro e atualize o site. Funcionou? Ótimo. Se não, avance.

Passo 2: Repare a base de dados com o WP_ALLOW_REPAIR

O WordPress pode reparar as suas próprias tabelas; só precisa de ativar a ferramenta de reparação integrada. Adicione uma linha ao wp-config.php antes de /* That's all, stop editing! */:

1define('WP_ALLOW_REPAIR', true);
Página de reparação da base de dados do WordPress via repair.php

Agora vá para:

1https://your-site.com/wp-admin/maint/repair.php

Verá uma página com dois botões: «Repair Database» e «Repair and Optimize Database». O primeiro apenas repara as tabelas; o segundo também as otimiza. Para uma solução rápida, o primeiro botão é suficiente.

Após a conclusão do processo, não se esqueça de remover a linha do WP_ALLOW_REPAIR do wp-config.php. Se a deixar, qualquer pessoa que descubra o URL repair.php pode executar reparações sem autenticação.

Na prática, este método resolve cerca de um terço dos erros de ligação. Se não ajudou, passe para os ficheiros principais.

Se preferir ver o processo visualmente, o vídeo acima demonstra cada passo em tempo real, do diagnóstico à recuperação.

Passo 3: Substitua os ficheiros principais corrompidos do WordPress

Ficheiros principais danificados são outra causa comum. Ficam corrompidos quando uma ligação FTP cai, uma atualização automática falha ou scripts maliciosos os adulteram.

Substituição de ficheiros principais corrompidos do WordPress através de um cliente FTP

Passos para a substituição:

  • Transfira o arquivo mais recente do WordPress do site oficial.
  • Descomprima o arquivo no seu computador.
  • Apague a pasta wp-content e o ficheiro wp-config-sample.php da pasta extraída. Não precisa de os enviar; caso contrário, irá sobrescrever os seus temas, plugins e uploads.
  • Envie os restantes ficheiros e pastas para o servidor via FTP ou através do gestor de ficheiros do seu alojamento, substituindo os ficheiros existentes.

O núcleo fica agora atualizado e o seu conteúdo e configurações permanecem intactos: eles residem na pasta wp-content e na base de dados, que não modificou. Limpe a cache do navegador antes de testar; scripts antigos em cache por vezes mascaram uma recuperação bem-sucedida.

Passo 4: Restaure o site a partir de uma cópia de segurança

Se os três passos anteriores não deram em nada, o problema é mais profundo do que parece. O dano não se limita a ficheiros ou tabelas individuais; a própria estrutura da base de dados está comprometida. A única solução fiável é reverter para o último ponto funcional.

A forma exata de restaurar depende do que usou para as cópias de segurança. Abordámos todos os métodos em detalhe num artigo separado: como restaurar o WordPress a partir de uma cópia de segurança, via cPanel, FTP, um plugin ou phpMyAdmin.

Reverter para uma cópia de segurança irá anular as alterações recentes no site: novos artigos, configurações de plugins, mudanças de tema. Mas é melhor do que um site morto que não carrega.

⁉️🤔 Perguntas frequentes

Por que razão o erro aparece apenas às vezes e não constantemente?

Muito provavelmente, o fornecedor de alojamento limita o número de ligações MySQL simultâneas e a base de dados fica temporariamente indisponível durante picos de tráfego. Verifique os limites no seu plano de alojamento. Em alojamento partilhado, a solução costuma ser a atualização para um VPS.

Posso reparar a base de dados via phpMyAdmin sem mexer no wp-config.php?

Sim. Inicie sessão no phpMyAdmin através do painel de alojamento, selecione a base de dados do site, marque todas as tabelas e escolha «Reparar tabela» no menu suspenso «Com os selecionados». Isto é o equivalente ao WP_ALLOW_REPAIR, mas sem editar código.

Mudar para um tema padrão ajuda num erro de ligação à base de dados?

Não. O erro ocorre ao nível da ligação PHP-MySQL; os temas não estão relacionados. Mudar de tema resolve problemas de visualização, não problemas de ligação.

O que devo fazer se a base de dados estiver irreversivelmente danificada?

Se o WP_ALLOW_REPAIR e o phpMyAdmin não conseguirem resolver, contacte o suporte do seu alojamento. A maioria dos fornecedores mantém cópias de segurança automáticas do servidor dos últimos 3 a 7 dias. Restaurar a partir de uma dessas cópias resolve-se com um único ticket de suporte.

Um plugin de segurança pode causar este erro?

Sim. Alguns plugins de segurança alteram o prefixo das tabelas (de wp_ para algo aleatório) ou bloqueiam ligações externas à base de dados. Se o erro apareceu logo após instalar um plugin desses, renomeie temporariamente a sua pasta via FTP e teste o site.

O site está a respirar novamente: o que recordar para o futuro

A ordem de resolução de problemas para «Error establishing a database connection» vai sempre do simples para o complexo. Metade das vezes, o primeiro passo é suficiente: abra o wp-config.php, corrija a palavra-passe e o site volta à vida.

Configure cópias de segurança automáticas se ainda não o fez. O plugin gratuito UpdraftPlus faz uma cópia de segurança da base de dados e dos ficheiros para a cloud (Google Drive, Dropbox ou onde preferir) uma vez por dia. Com uma cópia de segurança, qualquer falha do WordPress deixa de ser um desastre e passa a ser um inconveniente de dez minutos. Comprovado.