Error establishing a database connection — Erro de conexão com banco de dados

Time Full Services Time Full Services
Nome do erro Error establishing a database connection — Erro de conexão com banco de dados
Severidade Crítico
Desde WordPress 1.0
Descrição O WordPress não consegue se conectar ao banco de dados MySQL. Geralmente indica credenciais incorretas ou servidor de banco de dados offline.

O que significa esse erro?

O erro “Error establishing a database connection” é um dos erros mais críticos do WordPress. Ele significa que o WordPress tentou se conectar ao banco de dados MySQL mas não conseguiu — e sem o banco de dados, nenhuma página pode ser carregada, incluindo o painel administrativo.

Quando esse erro ocorre, tanto o frontend quanto o wp-admin ficam inacessíveis. No wp-admin, a mensagem específica é: “One or more database tables are unavailable. The database may need to be repaired.”

Causas mais comuns

Credenciais incorretas no wp-config.php

A causa mais comum é simplesmente ter credenciais incorretas no arquivo wp-config.php — nome do banco, usuário, senha ou host incorretos. Isso acontece com frequência após migrar o site para um novo servidor ou ao restaurar um backup.

Servidor MySQL fora do ar

Em hospedagens compartilhadas, o servidor MySQL pode ficar temporariamente indisponível por sobrecarga ou manutenção. Nesse caso, o erro é temporário e se resolve sozinho em alguns minutos.

Banco de dados corrompido

Tabelas do banco de dados podem se corromper por quedas de energia, falhas no servidor ou processos interrompidos abruptamente. Nesse caso, o WordPress consegue se conectar mas não consegue ler os dados corretamente.

Verificando as credenciais

O primeiro passo é verificar se as credenciais no wp-config.php estão corretas. Acesse o arquivo via FTP ou Gerenciador de Arquivos e confira as quatro linhas de configuração:

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

Para confirmar os dados corretos, acesse o painel da sua hospedagem em Banco de Dados → MySQL. Os dados exibidos lá devem ser idênticos aos do wp-config.php.

Reparando o banco de dados

Se as credenciais estiverem corretas mas o erro persistir, pode haver tabelas corrompidas. O WordPress possui uma ferramenta nativa de reparo. Adicione temporariamente ao wp-config.php:

define('WP_ALLOW_REPAIR', true);

Em seguida, acesse no navegador: seusite.com/wp-admin/maint/repair.php. Após o reparo, remova imediatamente a linha acima do wp-config.php por questões de segurança.

Testando a conexão via phpMyAdmin

Para confirmar se o banco de dados está acessível, acesse o phpMyAdmin pelo painel da hospedagem. Se conseguir visualizar o banco de dados e suas tabelas, a conexão está funcionando — e o problema está nas credenciais do wp-config.php. Se não conseguir acessar, o servidor MySQL pode estar fora do ar.

Causa

Este erro ocorre quando o WordPress tenta se conectar ao banco de dados MySQL mas falha. As causas mais comuns são credenciais incorretas no wp-config.php (usuário, senha ou nome do banco), servidor de banco de dados fora do ar, banco de dados corrompido ou limite de conexões atingido no servidor de hospedagem. Em hospedagens compartilhadas, isso pode ocorrer em momentos de pico de tráfego quando o servidor atinge o número máximo de conexões simultâneas permitidas.

Como resolver

Acesse o Gerenciador de Arquivos da sua hospedagem e abra o arquivo wp-config.php na raiz do WordPress. Verifique e corrija as quatro linhas de configuração do banco de dados:

define('DB_NAME', 'nome_do_banco');
define('DB_USER', 'usuario_do_banco');
define('DB_PASSWORD', 'senha_do_banco');
define('DB_HOST', 'localhost');
Confirme os dados corretos no painel da hospedagem em Banco de Dados > MySQL.

Acesse o phpMyAdmin e verifique se o banco de dados existe e está acessível.

Para testar se o banco está corrompido, no phpMyAdmin selecione o banco, clique em Verificar e depois em Reparar.

Se o problema persistir, entre em contato com a hospedagem — pode ser limite de conexões ou servidor MySQL fora do ar.

Como medida temporária, adicione ao wp-config.php:

define('WP_ALLOW_REPAIR', true);
Acesse seusite.com/wp-admin/maint/repair.php para reparar e depois remova a linha.

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

Seja PRO.

Tenha acesso a snippets de código premium — PHP, JavaScript, CSS e HTML prontos para usar em seus projetos.

Conhecer o plano Pro →