Base de Conhecimento

Erro ao estabelecer conexão com o banco de dados: solução

  • erro ao estabelecer conexão com o banco de dados, wordpress, wp-config, mysql, vps, tutorial
  • Usuários acharam útil: 0

Veja como resolver o erro de conexão com o banco de dados no WordPress: confira o serviço do MySQL, o wp-config.php, a memória e o reparo das tabelas.

Por Redação Eleven Host · @robson.direitodigital · 28 de outubro de 2026 · 7 min de leitura

Arte da Eleven Host: janela de terminal com o título: Erro ao estabelecer conexão com o banco de dados: solução

Capa da Redação Eleven Host para o guia: Erro ao estabelecer conexão com o banco de dados: solução Arte: Eleven Host

Quando aparece o erro ao estabelecer conexão com o banco de dados, o WordPress não consegue falar com o banco. Confira se o serviço do MySQL está rodando, se os dados do wp-config.php batem, se faltou memória e, por último, se as tabelas precisam de reparo.

Este guia segue essa ordem, do passo mais simples ao mais raro, para uma VPS com Ubuntu. Os nomes seudominio.com.br, usuario_wp e banco_wp são exemplos. Troque pelos do seu site.

O que a mensagem quer dizer

O WordPress guarda posts, páginas, usuários e configurações num banco de dados MySQL (ou MariaDB). A mensagem aparece quando ele não consegue falar com esse banco. Em inglês, o texto é "Error establishing a database connection". O site inteiro some, mas a mensagem, por si só, não quer dizer que os dados foram apagados.

A documentação do WordPress cita três causas:

  • Dados errados no wp-config.php: nome do banco, usuário, senha ou host (as constantes DB_NAME, DB_USER, DB_PASSWORD e DB_HOST).
  • Problema no servidor do banco, por exemplo fora do ar. Em hospedagem, a documentação cita também a cota do banco estourada.
  • Site comprometido (invadido), quando o wp-config.php e o servidor estão certos.

1. O banco está rodando?

Comece pelo serviço. Veja o estado dele:

sudo systemctl status mysql

Se o seu banco é o MariaDB, o nome do serviço muda:

sudo systemctl status mariadb

Se o serviço estiver parado, inicie:

sudo systemctl start mysql

O comando status mostra se o serviço está ativo ou parado e traz as últimas linhas do registro dele. Recarregue o site depois de iniciar o serviço. Se ele voltou, ainda vale ver por que o banco parou. Leia as mensagens da última hora:

sudo journalctl -u mysql --since "1 hour ago"

Se o serviço não sobe ou cai de novo, a causa pode estar nas próximas etapas. A terceira trata do caso em que o sistema encerra o banco por falta de memória.

2. Os dados do wp-config.php batem?

Entre na pasta do site (neste exemplo, /var/www/seudominio.com.br) e copie o arquivo antes de editar:

cd /var/www/seudominio.com.br

sudo cp wp-config.php wp-config.php.bak

Por que a cópia importa: se uma edição der errado, você volta ao arquivo original. Abra o arquivo e veja os valores de DB_NAME, DB_USER, DB_PASSWORD e DB_HOST. Depois teste os mesmos dados direto no MySQL:

mysql -u usuario_wp -p -h localhost banco_wp

O comando pede a senha. Se aparecer "Access denied", o usuário ou a senha não batem com os do banco. Se entrar, esse usuário e essa senha funcionam no banco. Compare então cada valor do wp-config.php com o que você usou no teste, letra por letra, e veja se o DB_HOST está correto.

O DB_HOST vale localhost quando o banco está na mesma VPS do site. Se o banco está em outro servidor, o DB_HOST leva o endereço dele (por exemplo, 203.0.113.10) e o acesso remoto precisa estar liberado. O guia Acesso remoto MySQL: como liberar com segurança mostra como.

Para redefinir a senha do usuário do banco, entre como administrador do MySQL:

sudo mysql

Rode o comando abaixo, com a senha nova no lugar do texto de exemplo:

ALTER USER 'usuario_wp'@'localhost' IDENTIFIED BY 'nova-senha-forte';

Em seguida, coloque a mesma senha em DB_PASSWORD no wp-config.php. A senha precisa ser a mesma nos dois lugares.

Antes de editar o wp-config.php, faça a cópia com wp-config.php.bak. Esse arquivo guarda a senha do banco, então não o envie por e-mail nem o publique em fóruns.

Precisa de um servidor para o seu WordPress? Os planos de VPS saem a partir de R$ 17,00/mês, no Plano Bronze; confira na loja o que cada plano inclui. Ver planos de VPS

3. Faltou memória?

Em uma VPS pequena, o sistema pode encerrar o MySQL por falta de memória. Procure essa pista no registro do kernel:

sudo journalctl -k | grep -i "out of memory"

Se aparecer o mysqld nas linhas, o banco pode ter sido encerrado por falta de memória. O guia Swap na VPS: como criar e ajustar no Ubuntu explica a memória de apoio, e o guia sobre sinais de VPS pequena (VPS lento? O que fazer) ajuda a ver se o plano ficou pequeno para o seu site.

Se não aparecer nada, o registro não aponta falta de memória. Siga para o reparo das tabelas.

4. Reparar as tabelas do banco

Se o serviço está rodando e os dados batem, a documentação do WordPress oferece uma página de reparo. Antes de usar, faça um backup do banco: o guia Backup MySQL com mysqldump: como fazer e restaurar mostra como.

Depois, acrescente esta linha ao wp-config.php:

define( 'WP_ALLOW_REPAIR', true );

Abra no navegador o endereço abaixo e siga as opções da página:

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

Quando terminar, remova a linha do wp-config.php. A documentação pede que você ative isso só se precisar e desative ao resolver o problema, porque, enquanto a linha estiver lá, a página de reparo fica aberta.

Ver o erro em detalhe

Se a mensagem genérica não mostra a causa, o WordPress pode gravar mais informações. Acrescente estas linhas ao wp-config.php:

define( 'WP_DEBUG', true );

define( 'WP_DEBUG_LOG', true );

O registro vai para o arquivo wp-content/debug.log. Depois de ler, volte os dois valores para false, porque o arquivo pode expor informação do site.

E se nada disso resolver?

A documentação do WordPress deixa a invasão como última hipótese, para quando o wp-config.php e o servidor do banco estão certos.

Se o serviço está no ar, os dados batem e as tabelas estão em ordem, a documentação do WordPress diz que o site pode ter sido comprometido. Nesse caso, restaure um backup limpo e troque as senhas: a do banco, a do painel do WordPress e a do acesso ao servidor. Para evitar que o problema volte, mantenha o WordPress atualizado com o guia Como atualizar o WordPress com segurança e faça backups do banco e do site com regularidade.

Se você chegou até aqui sem achar a causa, abra um chamado no suporte da Eleven Host e conte o que já testou.

Checklist rápido

  • Conferi se o serviço do banco está rodando com systemctl status.
  • Fiz uma cópia do wp-config.php antes de editar.
  • Testei usuário, senha e banco com mysql -u.
  • Conferi se o DB_HOST é localhost ou o endereço do servidor do banco.
  • Procurei "out of memory" no registro do kernel.
  • Fiz backup do banco antes de reparar tabelas.
  • Removi WP_ALLOW_REPAIR depois do reparo.
  • Desliguei WP_DEBUG e WP_DEBUG_LOG ao terminar.
  • Se tudo estava certo, considerei invasão e troquei as senhas.

Prefere um banco de dados na nuvem para o seu projeto? Conheça o 11SQL, a partir de R$ 9,90/mês no 11SQL Mini; confira na loja o que cada plano inclui. Ver planos do 11SQL

Perguntas frequentes

Perdi os dados do meu site?

A mensagem, por si só, não quer dizer que os dados foram apagados. Ela diz que o WordPress não consegue falar com o banco. Mesmo assim, faça um backup antes de mexer em tabelas.

Como saber qual das causas é a minha?

Siga a ordem do guia. Se o serviço está parado, a causa é o servidor do banco. Se o teste com mysql -u dá "Access denied", o usuário ou a senha não batem com os do banco; confira os dados do wp-config.php. Se o registro do kernel mostra falta de memória, veja o swap. Se tudo estiver certo, passe ao reparo e à suspeita de invasão.

Preciso reiniciar a VPS?

Primeiro veja o serviço do banco com systemctl status mysql. Se ele estiver parado, inicie-o com systemctl start mysql e leia o registro para entender por que parou.

Posso deixar o WP_DEBUG ligado?

Depois de ler o registro, volte os dois valores para false. O arquivo debug.log pode expor informação do site.

Esta resposta lhe foi útil?

Artigos Relacionados