Como Corrigir o Erro 'Estabelecendo Conexão com o Banco de Dados' no WordPress

Aprenda a corrigir o erro Estabelecendo Conexão com o Banco de Dados no WordPress. Causas, soluções passo a passo e como prevenir.

Poucas coisas assustam mais um dono de site do que acessar o WordPress e encontrar a mensagem "Erro ao estabelecer uma conexão com o banco de dados". O site desaparece por completo, tanto para você quanto para os visitantes.

A boa notícia: esse erro tem causas conhecidas e soluções bem documentadas. Neste tutorial, vamos explorar cada cenário e mostrar como resolver o problema do início ao fim.


O Que Significa Esse Erro?

O WordPress armazena praticamente todo o conteúdo do site no banco de dados MySQL (ou MariaDB). Posts, páginas, configurações, dados de usuários, opções de plugins e temas: tudo está no banco.

Quando o WordPress tenta se conectar ao banco de dados e não consegue, ele exibe a mensagem:

Error establishing a database connection

Ou, na versão em português:

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

Isso significa que a aplicação PHP (WordPress) não conseguiu se comunicar com o servidor de banco de dados. Nenhum conteúdo pode ser carregado, e o site fica completamente fora do ar.


Causas Mais Comuns

Antes de partir para as soluções, entenda as causas mais frequentes:

  1. Credenciais incorretas no wp-config.php - nome do banco, usuário, senha ou host errados
  2. Servidor de banco de dados fora do ar - o MySQL/MariaDB parou de funcionar
  3. Banco de dados corrompido - tabelas com erros que impedem leitura
  4. Host do banco de dados incorreto - "localhost" nem sempre é o valor correto
  5. Limite de conexões excedido - hospedagens compartilhadas limitam conexões simultâneas
  6. Prefixo de tabela errado - o wp-config.php aponta para tabelas que não existem
  7. Disco cheio no servidor - sem espaço, o MySQL não consegue operar

Vamos resolver cada uma dessas situações.


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

Essa é a causa número um. Qualquer alteração no nome do banco, usuário ou senha que não seja refletida no wp-config.php vai causar o erro.

Como verificar

Acesse os arquivos do site via FTP (FileZilla, WinSCP) ou pelo gerenciador de arquivos do painel da hospedagem. Abra o arquivo wp-config.php , que fica na raiz da instalação do WordPress.

Procure por estas quatro linhas:

define('DB_NAME', 'nome_do_banco');
define('DB_USER', 'usuario_do_banco');
define('DB_PASSWORD', 'senha_do_banco');
define('DB_HOST', 'localhost');

O que conferir

  • DB _ NAME : o nome exato do banco de dados. Acesse o phpMyAdmin ou o painel da hospedagem para confirmar.
  • DB _ USER : o nome do usuário do banco de dados. Atenção: em hospedagens com cPanel, o nome costuma ter um prefixo (ex: hostwp_usuario ).
  • DB _ PASSWORD : a senha do usuário. Se você alterou a senha recentemente no painel, precisa atualizar aqui também.
  • DB _ HOST : geralmente é localhost , mas em algumas hospedagens pode ser um IP ou endereço como mysql.servidor.com.br .

Como testar a conexão manualmente

Crie um arquivo chamado teste-db.php na raiz do site com o seguinte conteúdo:

<?php
$conexao = new mysqli('localhost', 'usuario_do_banco', 'senha_do_banco', 'nome_do_banco');

if ($conexao->connect_error) {
    die('Erro na conexão: ' . $conexao->connect_error);
} else {
    echo 'Conexão bem-sucedida!';
}
?>

Acesse seusite.com.br/teste-db.php no navegador. Se a conexão falhar, você saberá exatamente qual credencial está errada. Apague esse arquivo após o teste , pois ele expõe informações sensíveis.


Passo 2: Verifique se o Servidor de Banco de Dados Está Ativo

Se as credenciais estão corretas mas o erro persiste, o próprio servidor MySQL pode estar fora do ar.

Em hospedagem compartilhada

Entre em contato com o suporte da hospedagem. Você não tem controle sobre o serviço MySQL em hospedagem compartilhada, e o problema pode estar afetando vários clientes simultaneamente.

Em VPS ou servidor dedicado

Conecte via SSH e verifique o status do MySQL:

# Para MySQL
sudo systemctl status mysql

# Para MariaDB
sudo systemctl status mariadb

Se o serviço estiver parado, reinicie:

# Para MySQL
sudo systemctl restart mysql

# Para MariaDB
sudo systemctl restart mariadb

Verifique os logs do MySQL

Os logs indicam por que o serviço parou:

# Log padrão do MySQL
sudo tail -50 /var/log/mysql/error.log

# Em sistemas com MariaDB
sudo tail -50 /var/log/mariadb/mariadb.log

As causas mais comuns para o MySQL parar são:

  • Falta de memória RAM : o OOM Killer do Linux encerra o processo do MySQL quando a RAM acaba
  • Disco cheio : sem espaço para logs ou dados temporários
  • Configuração incorreta : valores de innodb_buffer_pool_size ou max_connections acima do que o servidor suporta

Passo 3: Repare o Banco de Dados pelo WordPress

O WordPress tem uma ferramenta nativa para reparar o banco de dados. Para ativá-la, adicione esta linha ao wp-config.php :

define('WP_ALLOW_REPAIR', true);

Depois, acesse no navegador:

https://seusite.com.br/wp-admin/maint/repair.php

Você verá duas opções:

  • Reparar banco de dados : corrige tabelas com erros
  • Reparar e otimizar banco de dados : corrige e otimiza as tabelas para melhor desempenho

Clique em "Reparar e otimizar banco de dados" e aguarde a conclusão.

Importante : após concluir, remova a linha WP_ALLOW_REPAIR do wp-config.php . Essa página não exige autenticação, então qualquer pessoa poderia acessá-la.


Passo 4: Repare o Banco de Dados via phpMyAdmin

Se a ferramenta nativa do WordPress não funcionar, use o phpMyAdmin diretamente.

Como fazer

  1. Acesse o phpMyAdmin pelo painel da hospedagem (cPanel, Plesk, etc.)
  2. Selecione o banco de dados do WordPress no menu lateral
  3. Clique em Verificar todas (marcar todas as tabelas)
  4. No menu dropdown "Com os selecionados", escolha Reparar tabela

Via linha de comando (SSH)

Se você tem acesso SSH, o processo é mais rápido:

# Reparar todas as tabelas do banco
mysqlcheck -u usuario -p --repair nome_do_banco

# Reparar e otimizar
mysqlcheck -u usuario -p --repair --optimize nome_do_banco

Verificar tabelas específicas

Para identificar quais tabelas estão com problema:

mysqlcheck -u usuario -p --check nome_do_banco

O resultado mostra o status de cada tabela. Tabelas com status "OK" estão saudáveis. Qualquer outro status indica problema.


Passo 5: Verifique o Host do Banco de Dados

Nem toda hospedagem usa localhost como host do banco de dados. Algumas configurações exigem um endereço específico.

Exemplos de hosts por provedor

Provedor DB _ HOST
Hostinger localhost
Locaweb mysql.seudominio.com.br
GoDaddy IP específico (veja no painel)
Amazon RDS endpoint.rds.amazonaws.com

Como descobrir o host correto

  1. Acesse o painel da hospedagem
  2. Procure na seção de banco de dados as informações de conexão
  3. Atualize o valor de DB_HOST no wp-config.php

Em alguns casos, especialmente quando o banco de dados roda em um servidor separado, você precisará usar um IP ou hostname fornecido pela hospedagem.


Passo 6: Crie um Novo Usuário do Banco de Dados

Se o usuário atual do banco de dados foi corrompido ou teve suas permissões alteradas, a solução mais rápida é criar um novo.

Via cPanel

  1. Acesse o cPanel e vá em Bancos de dados MySQL
  2. Na seção "Usuários MySQL", crie um novo usuário com uma senha forte
  3. Em "Adicionar usuário ao banco de dados", selecione o novo usuário e o banco do WordPress
  4. Marque TODOS OS PRIVILÉGIOS e confirme
  5. Atualize o wp-config.php com o novo usuário e senha
define('DB_USER', 'novo_usuario');
define('DB_PASSWORD', 'nova_senha_forte');

Via linha de comando (MySQL)

CREATE USER 'novo_usuario'@'localhost' IDENTIFIED BY 'nova_senha_forte';
GRANT ALL PRIVILEGES ON nome_do_banco.* TO 'novo_usuario'@'localhost';
FLUSH PRIVILEGES;

Passo 7: Verifique o Prefixo das Tabelas

O WordPress usa um prefixo para as tabelas do banco de dados. O padrão é wp_ , mas ele pode ser diferente, especialmente em instalações que seguem boas práticas de segurança.

Verifique no wp-config.php :

$table_prefix = 'wp_';

Agora confira no phpMyAdmin se as tabelas realmente usam esse prefixo. Se as tabelas são meusite_posts , meusite_options , etc., o prefixo no wp-config.php precisa ser meusite_ .

Um prefixo errado faz o WordPress procurar tabelas que não existem, gerando o erro de conexão.


Passo 8: Verifique o Espaço em Disco

Se o disco do servidor está cheio, o MySQL não consegue operar e pode até parar completamente.

Via SSH

# Verificar espaço em disco
df -h

# Verificar os maiores diretórios
du -sh /var/lib/mysql/*
du -sh /home/*/public_html/*

Soluções para liberar espaço

  • Limpe logs antigos: sudo find /var/log -name "*.gz" -delete
  • Remova backups antigos que não são mais necessários
  • Otimize tabelas do banco: mysqlcheck -u root -p --optimize --all-databases
  • Verifique se logs binários do MySQL estão consumindo espaço: SHOW BINARY LOGS;

Passo 9: Aumente o Limite de Conexões do MySQL

Em hospedagens compartilhadas, o número de conexões simultâneas ao banco de dados é limitado. Sites com muito tráfego ou plugins que fazem muitas consultas podem esgotar esse limite.

Verifique o limite atual (via SSH)

SHOW VARIABLES LIKE 'max_connections';

Aumente o limite (se tiver acesso)

Edite o arquivo de configuração do MySQL:

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

Adicione ou altere:

max_connections = 200

Reinicie o MySQL:

sudo systemctl restart mysql

Em hospedagem compartilhada, você precisará pedir ao suporte da hospedagem para ajustar esse valor.


Como Prevenir o Erro de Conexão com o Banco de Dados

Adote estas práticas para evitar que o problema se repita:

  • Mantenha backups regulares do banco de dados. Use plugins como UpdraftPlus ou backup via SSH com mysqldump
  • Monitore o uso de disco. Configure alertas quando o espaço atingir 80%
  • Otimize o banco periodicamente. Plugins como WP-Optimize limpam revisões, transients e dados desnecessários
  • Use credenciais fortes. Senhas fracas no banco de dados são um risco de segurança e de corrupção
  • Não edite o wp-config.php sem backup. Sempre salve uma cópia antes de fazer alterações
  • Monitore o uptime do MySQL. Em VPS, ferramentas como Monit ou UptimeRobot alertam quando o serviço cai
  • Limite plugins que fazem muitas consultas. Plugins de estatísticas, logs e social feeds podem sobrecarregar o banco

Quando o Problema é no Servidor

Em muitos casos, o erro de conexão com o banco de dados não é culpa do WordPress, mas do servidor. MySQL que para sozinho, disco lotado, RAM insuficiente: esses problemas exigem conhecimento de infraestrutura que vai além do WordPress.

Se você está em uma hospedagem compartilhada e o erro acontece com frequência, considere migrar para um VPS gerenciado. A diferença de estabilidade é enorme.

A equipe da HOSTWP cuida do servidor e do WordPress ao mesmo tempo. Se o banco de dados caiu porque o MySQL ficou sem memória, a gente resolve a causa raiz no servidor, não apenas reinicia o serviço. Entre em contato com a HOSTWP e tenha um site estável de verdade.


Leia também: Erros WordPress: Guia Completo Para Resolver os Problemas Mais Comuns | Como Resolver o Erro 500 no WordPress

Artigos relacionados