Este erro é comum e você já deve ter visto pelo menos algumas vezes. Como iniciante no WordPress, este erro pode ser frustrante, especialmente se você teoricamente não fez nada para provocá-lo. Neste tutorial, vamos mostrar porque ele acontece e como corrigir o erro ao estabelecer uma conexão com o banco de dados no WordPress, apresentando várias soluções para as principais causas. As soluções propostas neste tutorial funcionaram para a maiorias dos usuários. Aprenda como resolver o problema de conexão com o banco de dados.
Nota: Como sempre, recomendamos que certifique-se de ter backup do seu banco de dados ao menos.
Por que este erro acontece?
Resumidamente, você está vendo este erro porque o WordPress foi incapaz de estabelecer uma conexão com o banco de dados. Agora, a razão pela qual o WordPress apresentou este erro pode variar. Pode ser que seus dados de acesso ao banco de dados foram alterados. Pode ser que seu banco de dados tenha corrompido. Boa parte das vezes esse erro acontece por alguma falha do servidor, contudo, pode haver outros fatores. Fique calmo, nem tudo está perdido! Você tem seguido nossas recomendações e feito backups certo? De qualquer forma, vamos ver como podemos solucionar o erro ao estabelecer uma conexão com o banco de dados.
O problema também ocorre no /wp-admin ?
A primeira coisa é certificar-se que erro ocorre tanto no front-end quanto no back-end (wp-admin). Se a mensagem de erro é a mesma nas duas páginas “Erro ao estabelecer uma conexão com o banco de dados“, avance para a próxima etapa. No entanto, se você está recebendo um erro diferente no wp-admin, por exemplo, algo como “Uma ou mais tabelas do banco de dados não estão disponíveis. O banco de dados pode precisar ser reparado”, então você vai precisar reparar seu banco de dados.
Você pode fazer isso adicionando a seguinte linha no seu arquivo wp-config.php:
define('WP_ALLOW_REPAIR', true);
Depois de fazer isso, você pode ver as configurações, visitante a seguinte página:
https://www.seusite.com.br/wp-admin/maint/repair.php
Lembre-se, o usuário não precisa estar logado para acessar esta funcionalidade quando WP_ALLOW_REPAIR está definido como true. Isso porque a sua principal intenção é reparar um banco de dados corrompido, e geralmente os usuários não conseguem logar quando o banco de dados está corrompido. Sendo assim, recomendamos que, assim que reparar e otimizar seu banco de dados, você certifique-se de remover isto do seu wp-config.php.
Se essa reparação não resolver o problema, ou se você está tendo problemas para executar o reparo, então continue lendo este artigo, você pode encontrar uma outra solução para o problema.
Verificando o arquivo WP-Config
WP-Config.php é provavelmente o arquivo mais importante de toda sua instalação do WordPress. É nele que você vai configurar os detalhes de conexão do banco de dados para o WordPress. Se você mudou o usuário ou senha do banco de dados, então vai precisar alterar este arquivo também. A primeira coisa é verificar que os dados ainda são os mesmos e se estão corretos.
define('DB_NAME', 'Nome do BD'); define('DB_USER', 'Usuário do BD'); define('DB_PASSWORD', 'Senha do BD'); define('DB_HOST', 'localhost');
Lembre-se de que nem sempre o DB_HOST pode ser localhost. Dependendo do servidor, poderá ser diferente. Para servidores populares como a Hostgator e BlueHost, entre outros, é localhost.
Algumas pessoas informaram ter resolvido o problema substituindo o localhost pelo IP. É comum ver este tipo de problema quando o WordPress está sendo executado em servidor local. Por exemplo, no MAMP, o valor do DB_HOST, quando alterado para o IP parece funcionar.
define('DB_HOST', '127.0.0.1:8889');
O IP pode variar de acordo com o servidor de hospedagem.
Se tudo neste arquivo está correto (verifique se há erros de digitação, isso acontece às vezes), então podemos dizer que pode haver algo de errado com o servidor.
Verifique seu Servidor (Servidor MySQL)
O Erro ao estabelecer uma conexão com banco de dados, pode acontecer também quando seu site recebe uma grande quantidade de tráfego. Basicamente, o servidor não consegue lidar com a carga (especialmente quando você está usando um hospedagem compartilhada). Desta forma, seu site deverá ficar tão lento que para alguns usuários, este erro aparece. Portanto, a melhor coisa que você pode fazer neste momento é entrar em contato com o servidor de hospedagem e se informar sobre o status do servidor (MySQL).
Se você prefere testar se seu servidor MySQL está rodando, você pode fazer algumas coisas. Teste outros sites no mesmo servidor (se houver) para ver se também estão tendo problemas. Se eles também estão recebendo o mesmo erro, então certamente há um problema com seu servidor MySQL. Se você não tiver qualquer outro site neste mesmo servidor, acesse o cPanel e depois tente acessar o phpMyAdmin e conectar-se ao banco de dados do seu site com problema. Se você conseguir acesso normalmente, verifique se o usuário do banco de dados tem permissões suficientes. Crie um arquivo chamado “testconnection.php” e cole o seguinte código:
<?php $link = mysql_connect('localhost', 'usuario', 'senha'); if (!$link) { die('Não foi possível conectar: ' . mysql_error()); } echo 'Conectado com sucesso'; mysql_close($link); ?>
Certifique-se de substituir ‘usuário‘ e ‘senha‘. Se foi conectado com sucesso, então o usuário tem permissão adequada e pode ser outro erro. Volte ao seu arquivo wp-config.php e verifique novamente se tudo está correto (fique atento se há erros de digitação).
Se você não conseguiu se conectar pelo phpMyAdmin, então já sabe que é um problema no servidor. Isso não significa necessariamente que o servidor MySQL está fora. Pode ser que o usuário não tenha os privilégios adequados.
Nota: Se você receber o erro “acesso negado” em qualquer conexão com o phpMyAdmin ou através de resultados do testconnection.php, então você deve entrar em contato com sua hospedagem imediatamente para obter suporte para correção deste problema.
Vamos falar sobre outras soluções que funcionaram para outras pessoas, mas antes, gostaríamos de saber se este tutorial já te ajudou de alguma forma. Se sim, não deixe de escrever um comentário, se puder, informe qual era o problema e qual foi a solução. Vamos continuar…
Outras Soluções que Funcionaram
É importante dizer que, estas soluções podem não funcionar para você. Use por sua conta e risco, mas antes, certifique-se de que você tem backups suficientes, caso algo dê errado.
Um cliente estava recebendo o erro de banco de dados que precisa ser reparado. Mesmo depois de reparar o banco de dados, o erro não foi embora. Ele tentou várias coisas e, no final, o problema era a url do site. Aparentemente, foi alterado, provocando o erro persistir. Ele rodou a seguinte instrução SQL pelo phpMyAdmin:
UPDATE wp_options SET option_value='YOUR_SITE_URL' WHERE option_name='siteurl'
Substitua YOUR_SITE_URL do exemplo com sua URL real (ex: https://wordpress24horas.com.br). O nome da tabela wp_options será diferente, caso você tenha alterado o prefixo padrão do banco de dados do WordPress.
Sachinum informou era capaz de se conectar ao banco de dados com testconnection.php, então ele mudou o usuário do banco no wp-config.php para o usuário root. O WordPress começou a trabalhar perfeitamente bem. Então ele voltou com as configurações para o usuário do banco de dados, e o WordPress continuou trabalhando. Como ele não conseguia descobrir o que estava errado, concluiu que era um erro de digitação.
Cutewonders comentou que removeu o conteúdo do active_plugins na tabela wp_options e editou o conteúdo de recently_edited. Parece que resolveu o problema. Por favor, veja sua resposta completa aqui.
Existem muitos usuários que resolveram o problema de muitas outras maneiras. Você pode recorrer ao fórum oficial do WordPress.
Este é um erro frustrante! Se você já teve este problema como resolveu? Ficaríamos felizes se pudesse compartilhar sua experiência e conhecimento para ajudar outros usuários a não perder tanto tempo para encontrar uma solução. Escreva um comentário abaixo. Não esqueça, se você gostou deste artigo, compartilhe com seus amigos nas suas redes sociais.