A mensagem “Erro ao estabelecer uma conexão com o banco de dados” é provavelmente um dos erros mais comuns e assustadores que os usuários de WordPress podem encontrar. Ele chega próximo ao nível de pavor causado pela tela branca da morte (WSOD). Este erro demonstra que seu website não está mais se comunicando ou não possui acesso ao seu banco de dados e por esse motivo ele sai do ar. Não é um fator que deve ser encarado de forma tranquila e você deve tentar resolver o problema imediatamente, pois ele pode afetar diretamente suas vendas, tráfego e dados analíticos.

Mas não se preocupe. Discutiremos alguns cenários comuns que causam este erro e algumas maneiras simples de colocar seu site novamente no ar rapidamente.

O Que É o Erro ao Estabelecer uma Conexão com o Banco de Dados?

Todas as informações de seu site WordPress, como dados de posts e de páginas, metadados, configurações de plugins, informações de login, entre outras, são armazenadas em seu banco de dados MySQL. Os únicos dados que não são armazenados neste local são os conteúdos de mídia, como imagens, e os arquivos de seu tema/plugin/núcleo, como index.php, wp-login.php e demais. Quando alguém visita seu website, o PHP executa o código na página e consulta a informação no banco de dados para, em seguida, exibi-la para o visitante em seu navegador.

Se por alguma razão este processo não estiver funcionando corretamente, você recebe a mensagem de erro ao estabelecer uma conexão com o banco de dados, conforme pode ser visto abaixo. A página inteira fica em branco, pois nenhum dado pode ser recuperado para carregá-la, já que aconexão não está funcionando corretamente. Isso não só prejudica o front-enddo seu site, mas também impede que você acesse seu painel do WordPress.

No entanto, os visitantes podem não ver esse erro no frontend imediatamente. Isso porque o site provavelmente ainda está sendo veiculado no cache até expirar. Por exemplo, na Kinsta, todos os sites do WordPress são armazenados em cache por uma hora, por padrão. Portanto, se um site ainda estiver sendo veiculado do cache, ele poderá parecer bom para um visitante.

Exemplo de erro ao estabelecer uma conexão com o banco de dados

Exemplo de erro ao estabelecer uma conexão com o banco de dados

Na Kinsta, nossa equipe de suporte pode aumentar a duração do seu cache para dizer uma hora ou até uma semana, se você quiser. Se você tem um site que não muda com muita frequência, isso pode aumentar o desempenho do seu site, já que ele não precisa pegar arquivos novos com tanta frequência depois que o cache expira. E em casos como o acima, o frontend do site na maioria dos casos (a menos que você tenha um script ou parte de seu site quebrando o cache) ficaria muito mais tempo.

Quando os visitantes tentam acessar seu site enquanto esse erro ocorre, um código de status HTTP 500 será gerado em seus registros. Este mesmo código de status aparece quando há um “erro interno do servidor”. Essencialmente, isso significa que algo deu errado no servidor e a fonte solicitada não foi entregue. Quando tudo estiver funcionando adequadamente, seu site gerará um código de status HTTP 200, o que significa que tudo está correto.

Erro ao estabelecer uma conexão com o banco de dados – erro 500

Erro ao estabelecer uma conexão com o banco de dados – erro 500

Se você é um cliente Kinsta, também pode consultar o relatório de erro 500 em MyKinsta Analytics para ver se é algo que tem sido um problema recorrente.

Falha de erro 500

Falha de erro 500

Cenários Comuns Que Causam Este Erro

E por que isso acontece exatamente? Bom, abaixo estão listados alguns motivos. E não se preocupe: veremos cada um deles detalhadamente para que você possa fazer a correção. Em geral, você pode resolver esse erro em menos de 15 minutos.

  • O problema mais comum são credenciais de login no banco de dados incorretas. Seu site WordPress usa informações de login separadas para conectar ao banco de dados MySQL.
  • Seu banco de dados está corrompido. Com tantas movimentações nos temas, plugins e usuários que constantemente removem e instalam os mesmos, algumas vezes os bancos de dados são corrompidos. Isso pode ocorrer em virtude de uma tabela que está faltando ou que foi corrompida individualmente, ou ainda alguma informação que foi deletada acidentalmente.
  • Talvez você tenha  arquivos corrompidos em sua instalação WordPress. Por vezes, isso pode acontecer até mesmo por causa de hackers.
  • Problemas no seu servidor de banco de dados. Diversos fatores podem dar errado por parte das hospedagens web, como bancos de dados sobrecarregados com picos de tráfego ou sem resposta devido a muitas conexões simultâneas. Isso é bastante comum em hospedagens compartilhadas, uma vez que elas utilizam os mesmos recursos para diversos usuários nos mesmos servidores.

Como Corrigir o Erro ao Estabelecer uma Conexão com o Banco de Dados

Antes de você começar a trabalhar na resolução do erro, sempre recomendamos que faça um backup. Diversas recomendações abaixo envolvem a manipulação de informações em seu banco de dados e não queremos que as coisas fiquem ainda piores. Você sempre deve fazer um backup antes de tentar corrigir problemas no seu site WordPress, não importa o quão experiente em tecnologia você seja.

Você pode usar um plugin WordPress de backup conhecido, como o UpdraftPlus ou o Duplicator para fazer o backup dos seus arquivos e do seu banco de dados.

Não existe excesso de backups. Não importa quão experiente em tecnologia você seja.😉 Click to Tweet

Se você for um usuário Kinsta pode simplesmente tirar proveito do nosso recurso de backup com um clique. Basta selecionar seu site em MyKinsta, escolher a opção “Backups” e, em seguida, clicar em “Backup Agora”.

Backup em um site WordPress

Backup em um site WordPress

Você também tem a opção de restaurar um backup para a fase de produção ou preparação. Ainda é possível fazer o backup manual do seu banco de dados MySQL usando o phpMyAdmin. Depois de ter realizado o backup com sucesso, será hora de começar a resolução dos problemas de conexão com seu banco de dados.

1. Verifique as Credenciais de Login do seu Banco de Dados

A primeira ação a ser tomada é fazer uma verificação para garantir que suas credenciais de login no seu banco de dados estejam corretas. Este é de longe, o motivo mais comum que ocasiona a mensagem de erro ao estabelecer uma conexão com o banco de dados, especialmente após as pessoas migrarem para um novo provedor de hospedagem. Os detalhes da conexão para o seu site WordPress são armazenados no arquivo wp-config.php, que geralmente fica localizado na pasta raiz do seu site WordPress.

Ele contém quatro partes importantes de informações que devem estar corretas para que a conexão seja realizada com sucesso.

Nome do Banco de Dados

// ** MySQL settings ** //
/** The name of the database for WordPress */
define('DB_NAME', 'xxxxxx');

Usuário do banco de dados MySQL

/** MySQL database username */
define('DB_USER', 'xxxxxx');

Senha do banco de dados MySQL

/** MySQL database password */
define('DB_PASSWORD', 'xxxxxxxxx');

Nome de host MySQL (servidor)

/** MySQL hostname */
define('DB_HOST', 'localhost');

Para acessar seu arquivo wp-config.php, você pode fazer uma conexão ao seu site através de SFTP e navegar até a pasta raiz do seu site. Se você estiver usando o cPanel, pode clicar em “Gerenciador de Arquivos”, navegar pela pasta raiz do seu site e clicar com o botão direito para editar o arquivo.

Gerenciador de Arquivos no cPanel

Gerenciador de Arquivos no cPanel

Abaixo está um exemplo de como o arquivo se parece quando é aberto.

Credenciais do wp-config.php

Credenciais do wp-config.php

Agora você deve conferir os valores atuais com aqueles que estão em seu servidor para garantir que todos estejam corretos. Siga as instruções abaixo, criadas para atender aos usuários cPanel e Kinsta.

Verifique as Credenciais do Banco de Dados no cPanel

O primeiro detalhe a ser conferido é o nome do banco de dados. Para fazer isso, você precisa fazer login no phpMyAdmin enquanto estiver no cPanel, na seção de Bancos de Dados.

v

phpMyAdmin no cPanel

No canto esquerdo, você deverá ser capaz de visualizar o nome do banco de dados na parte inferior. Ignore o banco de dados “information_schema”, pois ele é utilizado pela sua hospedagem. Você deverá comparar o nome do banco de dados com o valor DB_NAME presente em seu arquivo wp-config.php. Se eles forem iguais, esse não é o problema que você está procurando. Se eles forem diferentes, você precisará atualizar seu arquivo wp-config.php.

Nome do banco de dados no cPanel

Nome do banco de dados no cPanel

Você também pode verificar se esse é o banco de dados correto, garantindo que que ele contenha a URL do seu site WordPress. Para fazer isso, clique no banco de dados e depois escolha a tabela wp_options (ela pode ter um nome diferente por propósitos de segurança, como wpxx_options). Na parte superior da tabela, você poderá ver valores definidos para a URL e o nome do seu site. Se eles corresponderem ao seu site atual, você terá certeza de que está no lugar certo.

Verifique a URL do site no phpMyAdmin

Verifique a URL do site no phpMyAdmin

Se o nome do seu banco de dados está correto e você continua recebendo a mensagem de erro ao estabelecer uma conexão com o banco de dados, também precisará verificar seu nome de usuário e senha. Para fazer isso, deverá criar um novo arquivo PHP na pasta raiz do seu site WordPress e inserir o código a seguir. Você pode nomeá-lo da forma que preferir, como verificardb.php. Apenas altere os valores de db_user e db_password com aqueles que constarem em seu arquivo wp-config.php.

<?php
$test = mysqli_connect('localhost', 'db_user', 'db_password');
if (!$test) {
die('MySQL Error: ' . mysqli_error());
}
echo 'Database connection is working properly!';
mysqli_close($testConnection);

Em seguida, acesse o arquivo em seu site WordPress (https://seudominio.com/verificardb.php). Se você receber a mensagem “MySQL Error: Access denied”, saberá que seu nome de usuário ou senha está incorreto e deverá seguir para a próxima etapa para redefinir suas credenciais de acesso.

Acesso negado no MySQL

Acesso negado no MySQL

Abaixo está a mensagem que você deseja receber: “Database connection is working properly”. Mas é claro que, se esse fosse o caso, você não estaria aqui. Assegure-se de deletar/remover este arquivo após terminar seus testes.

Mensagem de conexão com o banco de dados funcionando corretamente

Mensagem de conexão com o banco de dados funcionando corretamente

Em seguida, você precisará redefinir seu nome de usuário e senha. No cPanel, clique em Bancos de dados MySQL, na seção Bancos de Dados.

Bancos de dados MySQL no cPanel

Bancos de dados MySQL no cPanel

Role a página para baixo e crie um novo usuário MySQL. Tente escolher um nome de usuário e uma senha únicos, para que não possam ser facilmente adivinhados. A ferramenta de geração de senha que eles fornecem funciona bem. Em seguida, clique em “Criar Usuário”. Você também pode alterar a senha atual de um usuário do banco de dados que já existe, conforme demonstrado na tela abaixo.

Criação de um novo usuário MySQL

Criação de um novo usuário MySQL

Na sequência, role a página novamente para baixo e adicione seu novo usuário ao banco de dados. A próxima tela perguntará quais privilégios você deseja atribuir. Selecione a opção “Todos os Privilégios”.

Adicione um usuário ao banco de dados no cPanel

Adicione um usuário ao banco de dados no cPanel

Em seguida, anote as novas credenciais e atualize seu arquivo wp-config.php. Você deverá atualizar os valores de DB_USER e DB_PASSWORD. Você também pode executar o arquivo de teste do passo anterior. Isso deverá resolver seu problema com as credenciais. Se isso não acontecer, pode ser que o nome de host (DB_HOST) esteja incorreto. Algumas hospedagens utilizam valores diferentes. Veja uma lista com alguns valores comuns de DB Host. Em geral, o valor costuma ser localhost. Mas você pode entrar em contato com seu provedor de hospedagem ou verificar a documentação que ele oferece se você não tiver certeza. Alguns provedores podem utilizar 127.0.0.1 ao invés de localhost.

Se você seguiu todos os passos acima e continua recebendo a mensagem de erro ao estabelecer uma conexão com o banco de dados, avance para as próximas etapas de resolução abaixo.

Verifique as Credenciais do Banco de Dados com Kinsta

Se você é um usuário Kinsta, o processo de verificação das suas credenciais em relação ao seu arquivo wp-config.php e o servidor é muito mais fácil! Tudo o que você precisa fazer é clicar na seção de informações do seu site e, na parte inferior, visualizará o nome do banco de dados, o usuário e a senha. Por padrão, a Kinsta usa localhost como valor para o DB_HOST.

Credenciais de login do banco de dados Kinsta

Credenciais de login do banco de dados Kinsta

Em seguida, anote as novas credenciais e atualize seu arquivo wp-config.php. Você deverá atualizar os valores de DB_USER e DB_PASSWORD. Isso deverá resolver seu problema com as credenciais. Se você precisar redefinir estas credenciais, basta entrar em contato com nossa equipe de suporte. Se você seguiu todos os passos acima e continua recebendo a mensagem de erro ao estabelecer uma conexão com o banco de dados, avance para as próximas etapas de resolução abaixo.

2. Reparo de Banco de Dados Corrompido

Em alguns casos, seu banco de dados poderá estar corrompido. Isso ocorre em algumas ocasiões (mesmo que não seja frequente), já que centenas de tabelas são adicionadas/removidas constantemente ao longo do tempo por novos plugins e temas. Se você está tentando fazer login no seu painel WordPress e recebe a seguinte mensagem de erro “Uma ou mais tabelas de banco de dados estão indisponíveis. O banco de dados pode precisar ser reparado”, significa que seu banco de dados está corrompido. É importante notar que você talvez só veja esse erro no back-end, enquanto a mensagem de erro ao estabelecer uma conexão com o banco de dados aparece no front-end.

Na verdade, o WordPress conta com um modo de reparo que pode ser ativado. Basta adicionar o seguinte código no final do seu arquivo wp-config.php.

define('WP_ALLOW_REPAIR', true);
Modo de reparo do WordPress

Modo de reparo do WordPress

Em seguida, navegue na seguinte localização em seu site WordPress: https://seudominio.com/wp-admin/maint/repair.php. Você terá a opção de reparar seu banco de dados ou reparar e otimizar o mesmo. Como você provavelmente está resolvendo uma interrupção no seu site neste momento, recomendamos que opte pela opção de reparo do banco de dados, pois ela é mais rápida.

Lutando com tempo de inatividade e problemas no WordPress? Kinsta é a solução de hospedagem projetada para economizar seu tempo! Confira nossos recursos
Reparo de banco de dados no WordPress

Reparo de banco de dados no WordPress

Após executar o reparo de banco de dados acima, certifique-se de remover a linha de código que você adicionou ao seu arquivo wp-config.php. Caso contrário, qualquer pessoa poderá executar a ação de reparo. Se você está utilizando o cPanel, também pode executar o reparo a partir da tela de bancos de dados do MySQL.

Reparo de banco de dados no cPanel

Reparo de banco de dados no cPanel

Você pode ainda executar um reparo pelo phpMyAdmin. Basta fazer login no phpMyAdmin, clicar no seu banco de dados e selecionar todas as tabelas. No menu de seleção, clique em “Reparar tabela”. Isso fará com que o comando REPAIR TABLE seja executado.

Reparo de tabelas no phpMyAdmin

Reparo de tabelas no phpMyAdmin

And finally, your other option would be to run the repair using WP-CLI with the following command:

wp db repair

See more documentation on usage in the WordPress developer resources.

Se você deseja otimizar seu banco de dados, temos alguns excelentes tutoriais sobre como otimizar revisões do WordPress para melhorar seu desempenho e também como converter suas tabelas MyISAM para InnoDB. Se você continua com problemas em seu site, siga para a próxima etapa de resolução.

3. Correção de Arquivos Corrompidos

O próximo motivo que pode estar causando a mensagem de erro ao estabelecer uma conexão com o banco de dados é que seus arquivos podem estar corrompidos. Seja por um problema ao transferir arquivos através de FTP, um hacker que conseguiu acesso ao seu site ou problemas com sua hospedagem, você pode resolver isso rapidamente. Novamente, recomendamos que você faça um backup do seu site antes de experimentar essa solução.

Você basicamente substituirá a versão principal do WordPress no seu site. Você não vai lidar com plugins, temas ou mídia, apenas a instalação em si do WordPress. Para fazer isso, precisará fazer o download de uma nova cópia do WordPress no site WordPress.org.

Download do WordPress

Download do WordPress

Descompacte esse arquivo em seu computador. Dentro dele, você deverá excluir a pasta wp-content e o arquivo wp-config-sample.php.

Exclusão da pasta wp-content

Exclusão da pasta wp-content

Em seguida, faça o upload dos demais arquivos para o seu site através de SFTP, substituindo todos os arquivos já existentes. Isso substituirá todos os arquivos com problemas e garantirá que você tenha outros que estarão limpos e não corrompidos. É recomendável limpar o cache do seu navegador após fazer isso. Volte a verificar seu site WordPress para ver se o problema continua existindo.

4. Problemas com seu Servidor do Banco de Dados

Se nenhuma das opções acima resolveu seu problema, recomendamos que você verifique com seu provedor de hospedagem, pois esse pode ser um problema com o servidor do banco de dados. Por exemplo, se houver muitas conexões simultâneas ao seu banco de dados, esse erro pode surgir. Isso acontece porque muitas hospedagens possuem limites em seus servidores sobre quantas conexões são permitidas por vez. Utilizar um plugin de cache pode ajudar a minimizar as interações com o banco de dados em seu site. Se você é um cliente Kinsta, não precisa usar nenhum plugin de cache, pois dispomos de cache no nível de servidor.

Este problema pode ocorrer bastante em hospedagens compartilhadas, uma vez que outras pessoas podem estar afetando seu site. Isso ocorre porque as hospedagens compartilhadas utilizam os mesmos recursos nos servidores. Este é outro motivo pelo qual recomendamos que você opte por uma hospedagem WordPress gerenciada de alto desempenho, assim não há risco de superlotação. Isso também significa que o ambiente costuma estar preparado para lidar com grandes quantidades de tráfego, especialmente em sites WordPress.

A equipe de suporte Kinsta possui amplo conhecimento e está disponível 24×7 a um clique no canto inferior direito do painel se você precisar de ajuda. Não se esqueça que temos representantes que podem te ajudar em inglês e espanhol.

Contate o suporte Kinsta

Contate o suporte Kinsta

5. Restauração do Último Backup

Por fim, mas não menos importante, você pode recorrer a um backup se for necessário. Em alguns casos, essa pode ser a forma mais rápida de resolver um problema se você não estiver preocupado em perder os dados adicionados desde que seu último backup foi feito. Muitas hospedagens possuem seu processo próprio de restauração do backup. Lembre-se que você poderá precisar restaurar seu banco de dados e seus arquivos.

Se você é um usuário Kinsta, pode restaurar um backup com facilidade em seu site, acessando a seção de Backups. Basta escolher o momento para o qual você deseja fazer a restauração e clicar em “Restaurar”. You can then select whether you want to restore to Staging or your Live site.

Restauração de backup do WordPress

Restauração de backup do WordPress

Você será solicitado a confirmar a restauração. Basta inserir o nome do seu site e clicar em “OK”. Isso criará um backup no momento da restauração, assim você poderá desfazer essa ação se for necessário.

Confirmação da restauração do WordPress

Confirmação da restauração do WordPress

Resumo

Como você pode ver, existem diversas formas de corrigir o erro ao estabelecer uma conexão com o banco de dados no WordPress. A mais comum delas é identificar credenciais inválidas no arquivo wp-config.php. Verificar se elas estão corretas é uma boa maneira de começar. O que você menos deseja é que seu website fique inativo. Assim, esperamos que uma das etapas acima tenha ajudado você a ter seu site funcionando novamente.

Você já enfrentou a mensagem de erro ao estabelecer uma conexão com o banco de dados em seu site? Se sim, como você resolveu o problema? Compartilhe conosco nos comentários abaixo.

269
Shares