DesenvolvedorWordPress WhatsApp

Erro ao estabelecer conexão com o banco de dados no WordPress

Seu site mostra apenas "Erro ao estabelecer uma conexão com o banco de dados" e nada mais carrega? Aqui você entende o que a mensagem significa, por que ela aparece e como resolver sem colocar seu conteúdo em risco.

Resolver agora no WhatsApp

Atualizado em 19/06/2026

Quando o WordPress exibe a mensagem "Erro ao estabelecer uma conexão com o banco de dados" (em inglês, Error establishing a database connection), o site inteiro para. Diferente de outros erros, esse não mostra layout nem conteúdo — só a frase em uma página simples. A causa está sempre na ponte entre o WordPress e o MySQL, e na maioria dos casos é totalmente reversível.

Antes de mexer no banco: nunca rode reparos, importações ou exclusões sem um backup recente do banco de dados. Uma tentativa de conserto sem cópia de segurança é a forma mais rápida de transformar uma falha de conexão em perda definitiva de conteúdo. Faça (ou peça) o backup primeiro.

O que essa mensagem significa

Todo o conteúdo do seu site — posts, páginas, produtos, comentários, usuários e configurações — vive em um banco de dados MySQL/MariaDB. O WordPress, a cada visita, precisa se conectar a esse banco usando as credenciais guardadas no arquivo wp-config.php. Quando essa conexão falha, ele não consegue buscar nada e exibe a mensagem de erro no lugar da página. Em resumo: o WordPress está de pé, mas não está conseguindo conversar com o banco.

As causas mais comuns

Site x painel: uma pista importante

Observe a mensagem nos dois lugares. Se o site público e o /wp-admin mostram o mesmo erro de conexão, o problema é de acesso ao banco — credenciais ou servidor MySQL. Mas se o site mostra o erro genérico e o painel exibe "One or more database tables are unavailable. The database may need to be repaired", a conexão até funciona: o que está ruim são as tabelas corrompidas. Essa diferença muda completamente o que precisa ser feito.

Por que a distinção importa: credenciais erradas se resolvem corrigindo o wp-config.php; tabelas corrompidas, com reparo do banco. Tentar reparar tabelas quando o problema é só de credencial não adianta — e mexer às cegas no banco sem necessidade só aumenta o risco.

O que você pode verificar

  1. Confira as credenciais: abra o wp-config.php e verifique DB_NAME, DB_USER, DB_PASSWORD e DB_HOST contra os dados reais do banco no painel da hospedagem.
  2. Confirme o DB_HOST: em muitas hospedagens não é localhost, e sim um endereço específico do servidor de banco. Esse é um tropeço clássico após migração.
  3. Teste o banco direto: entre no painel da hospedagem ou no phpMyAdmin e veja se consegue acessar o banco com aquele usuário e senha. Se nem por ali entra, o problema é a credencial ou o servidor.
  4. Verifique se o MySQL está no ar: cheque o status dos serviços no painel e procure avisos de manutenção ou indisponibilidade da hospedagem.
  5. Repare o banco (com cuidado): se o painel acusa tabelas indisponíveis, adicione define('WP_ALLOW_REPAIR', true); ao wp-config.php, acesse /wp-admin/maint/repair.php, rode o reparo e remova a linha depois.
  6. Fale com a hospedagem: pergunte sobre limites de conexão, carga do servidor de banco e eventuais bloqueios — em planos compartilhados, esse é um gargalo frequente.

As credenciais no wp-config.php

As quatro constantes abaixo são o ponto exato onde o WordPress guarda como falar com o MySQL. Confira cada uma contra os dados reais do painel da hospedagem — um caractere errado já derruba a conexão:

// Credenciais de conexao com o banco (wp-config.php)
define('DB_NAME',     'nome_do_banco');
define('DB_USER',     'usuario_do_banco');
define('DB_PASSWORD', 'senha_do_banco');
define('DB_HOST',     'localhost');       // veja a tabela abaixo
define('DB_CHARSET',  'utf8mb4');
define('DB_COLLATE',  '');

Atenção a detalhes silenciosos: senhas com aspas ou caracteres especiais precisam ser idênticas (copie e cole do painel), e em algumas hospedagens o nome do banco e do usuário vêm com um prefixo (por exemplo conta123_wp). Depois de migrar de servidor, é quase sempre aqui que mora o erro.

Quando o problema é a tabela, não a credencial

Se o painel acusa "tables are unavailable… may need to be repaired", a conexão funciona — o que está corrompido são as tabelas. O WordPress traz um reparo embutido. Acrescente ao wp-config.php, acima de /* That's all, stop editing! */:

define('WP_ALLOW_REPAIR', true);

Em seguida acesse seusite.com.br/wp-admin/maint/repair.php (sem precisar de login), clique em Repair Database e, terminado, remova a linha — ela deixa a página aberta a qualquer um. Faça o backup do banco antes de reparar.

Valor de DB_HOSTComo conectaQuando usar
localhostSocket Unix local.Padrão na maioria das hospedagens compartilhadas, com banco no mesmo servidor.
127.0.0.1TCP/IP pela porta 3306, mesma máquina.Quando localhost falha ou o ambiente não usa socket (containers, alguns painéis).
host remoto (ex.: mysql.seudominio.com.br)TCP/IP para outro servidor.Hospedagem gerenciada ou banco em servidor separado; use o host exato do painel.
host:porta (ex.: 10.0.0.5:3307)TCP/IP em porta não padrão.Quando o MySQL escuta numa porta diferente da 3306.
localhost:/caminho/mysql.sockSocket Unix em caminho explícito.Servidores que não usam o socket padrão; o caminho vem da hospedagem.

Editar o wp-config.php e usar o phpMyAdmin exige acesso por FTP/SFTP e ao painel da hospedagem. Se você não tem esses acessos ou não se sente confortável manuseando credenciais de banco, é melhor não arriscar — um erro de digitação aqui mantém o site fora do ar.

Como eu resolvo

Com acesso à hospedagem e ao FTP, sigo um roteiro seguro:

Dica que vale ouro: a maior parte do estrago em problemas de banco acontece por falta de backup na hora certa. Mantenha um backup automático do WordPress (arquivos + banco) e qualquer falha de conexão deixa de ser pânico e vira só um ajuste.

Site travado no erro de banco de dados?

Me mande no WhatsApp a mensagem exata e diga se houve migração de servidor recente. Faço backup do banco e resolvo a conexão com segurança.

WhatsApp: (43) 99932-9697

ou e-mail: [email protected]

Perguntas frequentes

O que significa "Erro ao estabelecer uma conexão com o banco de dados"?

Significa que o WordPress até carregou, mas não conseguiu falar com o banco de dados MySQL onde ficam seus posts, páginas, usuários e configurações. Sem essa conexão, ele não tem como montar nenhuma página. A mensagem em inglês equivalente é "Error establishing a database connection".

Apareceu logo depois de migrar de servidor. Por quê?

É a causa mais comum nesse cenário: no servidor novo, o nome do banco, o usuário, a senha ou o DB_HOST mudaram, mas o wp-config.php ainda aponta para os dados antigos. Basta corrigir essas quatro credenciais no wp-config.php com os valores do novo servidor para o site voltar.

O site mostra o erro, mas o /wp-admin diz outra coisa. Isso ajuda?

Ajuda bastante. Quando o painel exibe "One or more database tables are unavailable. The database may need to be repaired", o problema não é a conexão e sim tabelas corrompidas. Isso aponta para reparo do banco, não para credenciais erradas — são caminhos diferentes.

Como reparo o banco de dados do WordPress?

O WordPress tem um reparo embutido: adicione define('WP_ALLOW_REPAIR', true); ao wp-config.php e acesse seusite.com.br/wp-admin/maint/repair.php. Rode o reparo e, depois, remova essa linha do arquivo — deixá-la ativa é um risco de segurança.

Esse erro pode ser sinal de invasão?

Pode. Um site comprometido às vezes recebe conexões e consultas demais ao banco, esgotando os limites e derrubando a conexão; em outros casos, o invasor altera credenciais ou corrompe tabelas. Se o erro vier acompanhado de comportamento estranho, vale tratar como possível WordPress hackeado.

Vou perder meu conteúdo por causa desse erro?

Na maioria dos casos, não — é um problema de acesso ao banco, não de exclusão de dados. O risco real aparece quando há corrupção sem backup. Por isso eu sempre faço um backup do banco antes de qualquer reparo. Me chame no WhatsApp (43) 99932-9697 que eu avalio com segurança.

Qual valor devo usar em DB_HOST: localhost ou 127.0.0.1?

Depende de como a hospedagem expõe o MySQL. localhost faz o PHP conectar por um socket Unix local; 127.0.0.1 força conexão TCP pela porta 3306. Em muitos servidores compartilhados os dois funcionam, mas há casos em que só um deles conecta — se localhost dá erro, vale testar 127.0.0.1 e vice-versa. Em hospedagem gerenciada, o DB_HOST costuma ser um host remoto específico (algo como mysql.seudominio.com.br), informado no painel.

Adicionei WP_ALLOW_REPAIR e agora qualquer um acessa a página de reparo?

Sim — e por isso é uma medida temporária. Enquanto define('WP_ALLOW_REPAIR', true); estiver no wp-config.php, a página /wp-admin/maint/repair.php fica acessível sem login. Rode o reparo, confirme que o site voltou e remova a linha imediatamente. Deixá-la ativa é uma brecha que pode ser explorada — trate como questão de segurança, no mesmo nível de um site comprometido.

Referências

  1. WordPress.org — Common WordPress Errors
  2. WordPress.org — Editing wp-config.php
  3. WordPress.org — wp-config.php (Advanced Administration)
  4. WordPress.org — Gerenciamento de banco de dados
Tem alguma dúvida? Ficarei feliz em ajudar. Clique Aqui