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.
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.
// 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














