É muito comum que usuários tenham experienciado este problema, ‘Error Establishing a Database Connection’ é um problema que pode ter sido causado por várias razões. Como um iniciante no WordPress, isso pode ser muito frustante especialmente quando acontece sozinho sem você ter alterado nada.
Nós já passamos por esse problema diversas vezes com sites de nossos clientes. Para quem tem experiência com esses problemas pode levar em torno de 20 minutos para detectar e resolver. Enquanto busca por soluções do problema, nós percebemos que existem poucos artigos que cobrem quase tudo.
Neste artigo, nós iremos lhe mostrar como resolver o ‘Error Establishing a Database Connection’ no WordPress colocando uma lista de soluções em um único lugar.
Nota: Antes de fazer qualquer mudanças em sua base de dados, tenha certeza que você tem backups suficientes do seu site.
Problema Conexão Base de Dados
Resumindo, você está recebendo este erro porque WordPress não consegue estabelecer uma conexão com sua base de dados. Agora a razão do porque ele não consegue estabelecer essa conexão pode variar. Pode ser que seus credenciais de login para a base de dados estejam errados ou que tenham sido alterados.
Pode ser que a sua base de dados esteja sem respostas. Sua base de dados pode ter sido corrompida por alguma razão. Em nossa experiência, na maioria das vezes este erro acontece por causa de algum erro no servidor, pórem, pode haver diversos outros fatores. Vamos dar uma olhada em como analisar este problema.
O Problema Ocorre no Painel Administrativo?
A primeira coisa que você deve fazer é ter certeza que esta tendo o mesmo problema tanto no front-end(seu site) como no back-end(wp-admin) do seu site. Se a mensagem de erro é a mesma nas duas páginas, então continue para o próximo passo.
Se você está tendo um outro tipo de erro no back-end(wp-admin) como ‘one or more database tables are unavailable. The database may need to be repaired’, então você precisa reparar sua base de dados.
Se você acessar esta página utilizando o nome do seu site como base:
https://www.seusite.com/wp-admin/maint/repair.php
você pode ver que ele precisa do código abaixo para reparar sua base de dados.
Você pode fazer isso adicionando a seguinte linha de código no seu arquivo wp-config.php:
define('WP_ALLOW_REPAIR', true);
Assim que você tiver feito isso, você pode ver as configurações visitando está pagina: http://www.seusite.com/wp-admin/maint/repair.php
Lembre-se, o usuário não precisa estar logado para acessar esta funcionalidade quando esta definição acima for configurada. Isso é porque a intenção principal é reparar uma base de dados corrompida, usuários normalmente não conseguem logar quando sua base de dados se encontra nessa situação.
Assim que você terminar de reparar e otimizar sua base de dados, tenha certeza de remover o código acima do seu arquivo functions.php.
Se essa solução não resolveu o seu problema, ou você está tendo problemas com o reparador continue lendo este artigo por que talvez você encontre outra solução que funcione.
Verificando o Arquivo wp-config.php
WP-Config.php é provavelmente o arquivo único mais importante de toda a instalação do seu WordPress. Aqui é onde você define detalhes especificos para que o WordPress se conecte com a sua base de dados.
Se você alterou a senha do seu servidor, ou a senha da sua base de dados, então você vai precisar alterar este arquivo também. Primeira coisa que nós sempre devemos fazer é verificar se está tudo perfeito em seu wp-config.php é o mesmo.
define('DB_NAME', 'database-name'); define('DB_USER', 'database-username'); define('DB_PASSWORD', 'database-password'); define('DB_HOST', 'localhost');
Lembre-se que DB_HOST nem sempre será ‘localhost’. Dependendo do seu Servidor de Hospedagem, isso será diferente.
Você pode tentar resolver o seu problema apenas substituindo ‘localhost’ com o IP. É muito comum ver esse tipo de problema quando se está usando WordPress em um servidor local. Como MAMP, o valor DB_Host parece funcionar melhor com IP.
define('DB_HOST', '127.0.0.1:8889');
IPs variam de acordo com o Servidor de Hospedagem.
Se tudo neste arquivo esta correto (tenha certeza de verificar erros de ortografia), então é praticamente justo dizer que existe algo errado no servidor.
Verifique o seu Servidor (MySQL Server)
Frequentemente você irá perceber ‘Error Establishing a Database Connection’ quando o seu site é bombado com um monte de tráfego. Basicamente, seu servidor de hospedagem não pode suportar a carga (especialmente quando você está em uma hospedagem compartilhada).
Seu site vai ficar muito lento e para alguns usuários mensagens de erros serão apresentadas. Então, a melhor coisa a se fazer é entrar em contato com o seu Servidor de Hospedagem e perguntar a eles se o seu servidor MySQL está respondendo.
Para aqueles usuários que desejam testar se o servidor MySQL manualmente, existem algumas coisas que você pode fazer. Teste outros sites no mesmo servidor para ver se eles estão tendo o mesmo problema. Se eles estão tendo o mesmo problema, então definitivamente tem algo errado com o seu servidor MySQL.
Se você não tem nenhum outro site no mesmo servidor de hospedagem simplesmente vá em seu cPanel e tente acessar phpMyAdmin e conectar com a base de dados. Se você conectar, então nós precisamos verificar se seu usuário tem permissões suficientes. Crie um novo arquivo chamado testconnection.php e copie o seguinte código nele:
<?php $link = mysql_connect('localhost', 'root', 'password'); if (!$link) { die('Could not connect: ' . mysql_error()); } echo 'Connected successfully'; mysql_close($link); ?>
Tenha certeza de substituir o nome de usuário e senha. Se conectado com sucesso, então significa que seu usuário tem permissões suficientes, e tem outra coisa dando errado. Volte para seu arquivo wp-config.php para ter certeza que está tudo correto.
Se você não consegue conectar a sua base de dados usando phpMyAdmin, então é algo com o seu servidor. Não significa necessariamente que o seu servidor MySQL esta Offline. Pode ser que seu usuário não tenha permissões suficientes.
Em nosso caso, nosso servidor MySQL esta funcionando. Todos os outros sites estavam funcionando normalmente exceto canalwp.com. Quando tentamos usar nosso phpMyAdmin, nós nos deparamos com o seguinte erro:
#1045 – Access denied for user ‘cwp’@’%’ (using password: SIM)
Nós entramos em contato com WPEngine e o suporte rapidamente encontrou o problema. De alguma forma as permissões dos nossos usuários foram resetadas. Não temos certeza como isso aconteceu, mas aparentemente isso foi a razão. Eles fizeram backup e devolveram as permissões aos devidos usuários e nós conseguimos colocar nosso site online de volta.
Então se você tiver problemas com permissões de acesso, você deve entrar em contato com o seu Servidor de Hospedagem o mais rápido possível para que eles possam resolver o problema.
Soluções que Funcionaram para Outros
É importante notar, que as dicas acima podem não funcionar para você. Use por sua conta e risco e tenha certeza que você tem backups suficientes em caso de algo der errado. Um de nossos clientes estava com problema na base de dados e precisava ser reparada.
Mesmo depois de reparar a base de dados o problema não sumiu. Nós tentamos diversas coisas e no final, o problema era a URL do site. Aparentemente foi uma mudança que causou o erro a ficar persistindo. Nós rodamos uma query pela base de dados através do phpMyAdmin:
UPDATE wp_options SET option_value='YOUR_SITE_URL' WHERE option_name='siteurl'
Tenha certeza de substituir YOUR_SITE_URL com a sua URL atual, exemplo https://www.canalwp.com. A tabela wp_option será diferente se você tiver alterado o prefixo padrão da base de dados do WordPress. Isso parece resolver o problema para nosso cliente e alguns outros após esse problema.
Tentar remover o conteúdo de active_plugins na tabela wp_options e editar o conteúdo de recently_edited. Basicamente isso resolve o problema em alguns casos.
Conclusão
Nós encontramos em diversas fontes que usuários simplesmente fazem o upload de uma nova cópia do WordPress e o problema pode ser fixado. Este erro é realmente frustante.
O que você tentou que funcionou para você? Nós ficaremos muito felizes de expandir os recursos deste artigo, então outros não precisaram perder muito tempo tentando encontrar uma solução.
Se você gostou desse artigo considere compartilhar nas redes sociais. Siga-nos nas redes sociais para acompanhar mais artigos como esse. Se de alguma forma este artigo lhe foi útil deixa seu comentário abaixo para podermos saber a sua opinião.
Ferramentas WordPress Veja Mais Ferramentas
Regenerate Thumbnail
LifterLMS
Ninja Forms
Deu certo!
Obrigado pelas dicas!
Ola amigos Tenho um site e continua com esse problema. Meu problema é o seguinte,tinha um site hospedado na godaddy,e movi para digitaloceam Estava usando normal o site funcionando perfeitamente,apos um ano o site começou aparecer esse problema“Erro de conexão com banco de dados”.Para resolver o problema eu tenho que entrar na minha hospedagem e dar um reboot no servidor,assim que dou um reboot o site volta ao normal.mas toda semana vive caindo Ja entrei em contato com minha hospedagem e eles me deram 4 dicas, 1- aumentar o plano porque o espaco da cpu tava pouco 2-ataque de hacker… Continue Lendo »
Olá Rodrigo, Obrigado por deixar seu comentário. Agradeço por detalhar bem sua situação. Imagino também que você já tenha algum plugin de cache rodando no seu site, certo? Um ataque DDoS também pode ser a causa desse problema, mas instalando um plugin como loginizer resolveria esses ataques: https://www.canalwp.com/plugins-wordpress/seguranca-wordpress-loginizer/ O que também pode estar acontecendo é que algum plugin ou seu tema está consumindo recursos excessivos do seu servidor, o que sobrecarrega o sistema forçando você a reiniciá-lo. Você pode utilizar o plugin p3 para analisar quais recursos estão exigindo mais do seu servidor: https://br.wordpress.org/plugins/p3-profiler/ Tente sempre eliminar plugins desnecessários e… Continue Lendo »
Ok.Vou fazer os testes e te dou retorno para ver se melhorou ou resolveu.
Amigo o meu site esta dando este erro, contatei a hospedagem eles alegam que estou atingindo o numero de conexões simultâneas, o que posso fazer para resolver isso?
Olá Kaique,
Você está sunbindo algum arquivo via FTP ou de outra forma? Algum plugin poderia estar fazendo isso?
Você utiliza algum plugin de cache no seu WordPress?
Qual a sua empresa de hospedagem e plano que você usa?
Fico no aguardo.
Abraço.
Estou utilizando hospedagem da X2N, Hospedagem Premium (o ultimo plano), uso o W3 Total Cache, não estou subindo nenhum arquivo via FTP!
O meu site é o kflix.co
Olá Kaique,
Pelo que você me disse até agora me parecem ter duas possibilidades.
Uma é que o seu tema e plugins estão realizando uma quantidade de requisições muito grande, ou a sua empresa de hospedagem não é boa para a necessidade do seu site.
Pode ser a hora de considerar um novo tema ou uma mudança de hospedagem.
Qualquer outra dúvida fico a disposição.
Abraço.
Muito obrigado!
O erro acontece apenas de vez em quando, não é todo o tempo!
Boa-tarde.
No meu caso, simplesmente o site não entra.
Quando digito a URL de entrada: wp-login.php o WP já automaticamente mostra a mensagem de “Error establishing a database connection”
Sou apenas um usuário, não um programador.
Tem algo que eu possa fazer?
Agradeço antecipadamente pela ajuda!
Olá Omri,
Visitando seu site eu consegui acessar a página de login sem problemas.
Conseguiu resolver seu problema?
Abraço.
Muito bom, parabéns pelo trabalho, continue sempre assim… :)
Olá Fabiano,
Obrigado por deixar sua opinião.
Fico muito feliz que tenha dado tudo certo.
Grande abraço.
Bom dia, estou com esse problema em um servidor da Vultr. Fiz a instalação via linha de comando e ao procurar o wp-config.php não achei na raiz. Por acaso você poderia já passou por isso em um servidor VPS?
Obg pela atenção.
Bom dia,
Depois de fazer atualizações de plugins, não consegui ter acesso ao meu site no wordpress, recebo esta mensagem de erro (Parse error: syntax error, unexpected ‘:’ in /home/vidanaro/public_html/wp-content/plugins/wp-migrate-db/class/wpmdb.php on line 2686), alguém pode me ajudar?
Olá José,
Nesse caso você só precisar acessar seu site via FTP e deletar a pasta do plugin.
Aqui tem um tutorial FTP caso não saiba como acessar seu site: https://www.canalwp.com/guia-do-iniciante/ftp-transferir-arquivos-wordpress/
Abraço.
Gabriel,
Eu tenho um cliente que hospedo o seu site que está com o problema abaixo:
/home/ilanoros/public_html/portodapiscina.com.br/admin/bibliotecas/adodb/drivers/adodb-mysql.inc.php:355) in /home/ilanoros/public_html/portodapiscina.com.br/admin/gerencia/gerenciador_usuario.php on line 9
Como posso resolver o problema para ele?
Obrigado pela atenção.
Olá Ilano,
Seu cliente não está utilizando o WordPress, então essas dicas não vão te ajudar.
Recomendo que entre em contato com o servidor de hospedagem do seu cliente.
Abraço.
Cara você merce um beijo, mas vou te mandar só um abraço!!!! kkkk. Muito obrigado!!!!
Olá Janio,
Obrigado pelo seu comentário.
Vou ficar com o seu abraço mesmo rsrsrs
Abraço.
Olá Gabriel Galvão,
Bom, estava construindo um site localhost, finalizei esse site hospedei em um servidor gratuito, hostinger, la implementei os ajustes e vários conteudos, uso o plugin all in on migration, so que o espaço em disco nao me permite mais baixar a ultima versão dos site.
Optei por pegar todos os dados via FTP e exportar o banco.
Ao fazer isso, dentro do codigo sql ja altero a parte do siteurl e home, preciso muito de ajuda.
Poderia me auxiliar ?
Muito obrigado, e abraços
Olá Iury,
Entendi perfeitamente todos os passos que você seguiu, só não sei qual é a sua dúvida kkk.
Se for com relação a alteração das URLs em todo o conteúdo você poderia utilizar o plugin velvet blue que faz isso para você.
Para alterar a URL do SITE e da HOME você precisa editar o arquivo wp-config.php e adicionar o seguinte código com o novo domínio:
define('WP_HOME','http://seudominio.com');
define('WP_SITEURL','http://seudominio.com');
Se essa não era a sua dúvida, peço que detalhe melhor.
Abraço.
Boa noite.
Já tentei diversas coisas, mas ainda assim o erro abaixo persiste.
Alguem poderia ajudar ?
Warning: Cannot modify header information – headers already sent by (output started at /home/storage/d/c1/43/akimix/public_html/ftp/testesitemauro/wp-config.php:1) in /home/storage/d/c1/43/akimix/public_html/ftp/testesitemauro/wp-includes/pluggable.php on line 1174
Olá Mauro,
Isso normalmente acontece quando você faz modificações em algum arquivo do seu site e deixa algum espaço em branco ou caractere sobrando no código.
Se você adicionou algum código personalizado eu recomendo que você remova ele e tenha bastante atenção aos espaços em branco.
Abraço.
Olá Gabriel,
Estou tendo esse problema frequentemente.
Meu servidor é o aws amazon e quando ocorre esse erro eu dou um stop e start na instancia e meu site volta a funcional normal por algumas horas e depois torna a acontecer.
Já fiz olhei o wp-config e fiz o teste para otimizar meu banco de dados usando o /wp-admin/maint/repair.php, mas tb não resolveu
Vc tem ideia do que pode ser ?
Ola estou com problemas serios em meu site
contratei uma hospedagem compartilhada da godaddy e entao perto de expirar esse hospedagem
resolvi contratar a digitalocean, fiz tudo correto a transferencia manual de servidor e
hospedagem mas ao terminar quando fui abrir meu site
esta dando o erro de ERRO DE CONEXÃO COM O BANCO DE DADOS.
sEGUI SEU TUTORIAL E NADA DE RESOLVEr
poderia me dar uma dica
etão todos correto o
define(‘DB_NAME’, ‘database-name’);
define(‘DB_USER’, ‘database-username’);
define(‘DB_PASSWORD’, ‘database-password’);
define(‘DB_HOST’, ‘localhost’);
Olá Rodrigo,
Obrigado por deixar seu comentário.
Tenha certeza de verificar se o nome, usuário e senha estão realmente corretos antes de tudo.
Qual valor você está usando para DB_HOST ? Normalmente no Godaddy é algo como h41mysql52.secureserver.net, e não o ‘localhost’.
Abraço.
Já aconteceu com meu site, mas o erro era no prefixo das tabelas que estavam wp_hbcshj12.
Boa sorte Rodrigo.
Muito bom para min funcionou logo no primeiro tutorial, excelente dica parabéns.
Excelente, Rogerio.
Fico feliz que tenha resolvido o problema.
Abraço.
Tinha um site no hostgator dava essa praga direto..mudei o server nunca mais tive o problema.. Servidor vagabundo da sempre este erro..
Olá Alexander,
Obrigado por deixar seu comentário.
Cada um passa por uma experiência diferente com serviços online.
Eu trabalho com clientes que hospedam seus sites na hostgator desde 2009 e de lá pra cá poucas vezes tive esse problema. Outra coisa, quando seu site cresce ou se você utiliza muitos recursos do servidor significa que chegou a hora de passar para outro tipo de hospedagem além da compartilhada.
Abraço.
Olá bideyks, Obrigado por deixar seu comentário. Esses erros são bem besta, as vezes deixamos passar alguma espaço ou copiamos a senha/nome do banco de dados/ nome de usuário incorretamente (ou até mesmo o servidor do banco de dados pode estar offline). O que você não deve deixar acontecer é entrar em pânico pois acaba fazendo o que você fez. Ainda bem que você não tinha nenhum conteúdo, mas imagina quando você já tiver seus 20 posts publicados.. Sempre procure ajuda do suporte de sua hospedagem. Eles vão sempre conseguir resolver esse erro para você, a não ser que sejam… Continue Lendo »
gostaria de saber pq meus comentarios mostra que foi enviado com sucesso para meu banco de dados mas nao chega no banco de dados e esta conectando normal no banco eu uso o db uolhost
Olá Vanio,
Tente entrar em contato com a sua empresa de hospedagem para que eles verifiquem isso para você.
Abraço.