Como corrigir Error establishing a database connection
O que é o erro de conexão com o banco de dados?
Esse erro aparece quando o PHP do WordPress não consegue abrir uma conexão com o servidor de banco de dados (MySQL ou MariaDB). Sem essa conexão o WordPress não lê posts, opções nem usuários, então o site inteiro fica fora do ar, mostrando apenas a frase do erro em tela branca.
Como identificar
- Tela branca com apenas a frase “Error establishing a database connection”.
- O mesmo erro aparece tanto no front-end quanto no wp-admin.
- Às vezes o wp-admin mostra “One or more database tables are unavailable” e sugere reparar o banco.
- O erro surge após migrar de host, trocar a senha do banco ou em horário de pico de tráfego.
Antes de começar: Faça backup do wp-config.php antes de editá-lo e remova a linha WP_ALLOW_REPAIR assim que terminar o reparo (ela deixa a rota de reparo aberta sem login).
Como prevenir
- Anote as credenciais do banco em local seguro e atualize o wp-config.php sempre que trocar a senha
- Monitore o uso de recursos do plano para não estourar o limite de conexões em campanhas
- Mantenha backups automáticos do banco para restaurar rápido em caso de corrupção
Causa
- Credenciais erradas no wp-config.php (DB_NAME, DB_USER, DB_PASSWORD ou DB_HOST não batem com o banco).
- Servidor MySQL/MariaDB fora do ar, reiniciando ou com excesso de carga.
- DB_HOST incorreto (o provedor usa 127.0.0.1 ou um host dedicado, não 'localhost').
- Tabela do núcleo do WordPress corrompida (marcada como crashed pelo MySQL).
- Limite de conexões da hospedagem compartilhada atingido em pico de acessos.
Como resolver
- Confirme as credenciais do banco: abra o wp-config.php via FTP e compare DB_NAME, DB_USER, DB_PASSWORD e DB_HOST com os dados do painel da hospedagem. Uma senha trocada recentemente é a causa nº 1.
- Verifique se o servidor de banco está no ar: entre no phpMyAdmin do painel. Se ele também não conectar, o problema é no servidor MySQL: contate o suporte da hospedagem.
- Teste o DB_HOST correto: se 'localhost' não conecta, troque por '127.0.0.1' ou pelo host de banco informado pelo provedor (comum em hospedagem com banco em servidor separado).
- Repare o banco de dados: se o erro citar tabelas indisponíveis, adicione define('WP_ALLOW_REPAIR', true); ao wp-config.php e acesse seudominio.com/wp-admin/maint/repair.php. Remova a linha depois de reparar.
- Cheque o limite de conexões: se o erro só aparece em picos, peça ao host para revisar max_connections do MySQL ou avalie subir de plano.
PHP
// Credenciais do banco no wp-config.php (ajuste aos dados do seu painel)
define( 'DB_NAME', 'nome_do_banco' );
define( 'DB_USER', 'usuario_do_banco' );
define( 'DB_PASSWORD', 'senha_do_banco' );
define( 'DB_HOST', 'localhost' ); // alguns provedores usam 127.0.0.1 ou um host dedicado
Perguntas frequentes
O erro aparece no site e no wp-admin ao mesmo tempo. Por quê?
Porque a conexão com o banco é a mesma para os dois. Se o WordPress não conecta ao MySQL, nada que dependa do banco carrega, nem o front-end nem o painel.
Conferi as credenciais e estão certas. E agora?
Provavelmente o servidor MySQL está fora do ar ou sobrecarregado. Teste o phpMyAdmin: se ele também não abrir, o problema é no servidor de banco e o suporte da hospedagem precisa agir.
Devo usar localhost ou 127.0.0.1 no DB_HOST?
Depende do provedor. Muitos usam 'localhost', mas hospedagens com banco em servidor separado exigem '127.0.0.1' ou um host específico. Teste os dois se não tiver certeza.
O que faz a linha WP_ALLOW_REPAIR?
Ela libera a rota /wp-admin/maint/repair.php para reparar e otimizar tabelas corrompidas sem login. Use só durante o reparo e remova depois, pois deixa a rota aberta.
Posso perder dados ao reparar o banco?
O WP_ALLOW_REPAIR repara e otimiza as tabelas sem apagar conteúdo. Mesmo assim, faça backup do banco antes: qualquer operação sobre uma tabela corrompida tem algum risco.
Mudei de hospedagem e deu esse erro. O que conferir primeiro?
Comece pelo DB_HOST: o novo provedor pode usar 127.0.0.1 ou um host de banco dedicado em vez de 'localhost'. Depois confira usuário e senha do banco no painel da nova hospedagem.














