Wordpress

Error Establishing a Database Connection no WordPress – Correção

O que é e como corrigir o erro Error Establishing a Database Connection no seu site WordPress.

Primeiro passo, por que está ocorrendo este erro?

O Erro é auto explicativo, não foi possível estabelecer uma conexão com o banco de dados.

WordPress utiliza do banco de dados Mysql para salvar os seus dados dinâmicos, que são gerados durante a utilização e configuração do site. Ex: Post, Páginas, Comentários etc.

O Banco de dados Mysql normalmente funciona independente do servidor web “apache” que executa a aplicação.

Explicando de uma forma mais simples, o seu site pode estar funcionando, porém o banco de dados não!

Antes de resolver por conta própria..

Em 90% dos casos o erro “Error Establishing a Database Connection” é por que o servidor aonde está rodando o banco de dados caiu.

Em hospedagens compartilhadas você não consegue fazer nada para iniciar o banco por conta própria!

Neste caso você terá que entrar em contato com a empresa que fornece o serviço de hospedagem para o seu site e solicitar que o serviço seja normalizado!

Faça a abertura de um chamado, liguei, fale pelo Chat.

Normalmente as empresas de hospedagem possuem sistemas que identificam que um de seus servidores caíram e elas resolvem o problema sem você ficar sabendo.

Contudo, nem sempre é assim… e você pode ter que colocar a mão na massa!

Principais motivos que causam o erro

  • Simplesmente o servidor aonde está o banco de dados está fora do ar
  • Endereço do servidor “host” do banco de dados foi alterado
  • Nome do banco de dados foi alterado
  • Usuário e senha foram alterados
  • Firewall está bloqueando o acesso ao servidor externo do banco
  • Banco Mysql está bloqueando o acesso externo ao banco

Verificando os dados utilizados na conexão

Para verificar os dados que estão sendo utilizados pelo WordPress, edite o arquivo wp-config.php.

O arquivo wp-config.php está localizado na raiz da instalação do WordPress “diretório root”.

Exemplo:

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */define('DB_NAME', 'db');

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

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

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

/** Database Charset to use in creating database tables. */define('DB_CHARSET', 'utf8mb4');

/** The Database Collate type. Don't change this if in doubt. */define('DB_COLLATE', '');

Os valores de DB_NAME, DB_USER, DB_PASSWORD e DB_HOST são os utilizados para a conexão.

Testando os dados

Para testar os dados você terá que tentar realizar a conexão com o banco manualmente.

Utilize o programa: https://www.mysql.com/products/workbench/

Erro: One or more database tables are unavailable. The database may need to be repaired

Se a mensagem de erro for One or more database tables are unavailable. The database may need to be repaired, pode ser que algo tenha ocorrido com as tabelas do banco.

FAÇA BACKUP DO BANCO ANTES DE FAZER O REPARO!!!

Para reparar o banco, adicione no final do arquivo “wp-config.php” o código:

define('WP_ALLOW_REPAIR', true);

Acesse novamente o site para executar o reparação.

Dependendo da tabela que foi danificada você poderá perder uma grande quantidade de dados executando a reparação. Neste caso é importante que você tenha o backup em mãos para tentar restaurar as informações após o reparo das tabelas.

Conclusão “Error Establishing a Database Connection”

Caso você tenha alguma dúvida de como proceder ou precise de ajuda, deixe um comentário!

Não tente reparar o banco sem ter feito o backup antes. É importante que você teste o backup feito, restaurando em outro ambiente!

 

Post Recentes

Cron do Magento 2 não roda: status missed e pending no cron_schedule

Pedido que não fatura e e-mail que não sai porque todo job fica missed: como ler a cron_schedule, conferir o…

13 horas atrás

Gerar slug de URL em PHP: acento, espaço e símbolo fora do endereço

Uma função curta em PHP 8.3 que transforma Camiseta Preta Tamanho GG em camiseta-preta-tamanho-gg, sem depender do locale do servidor.

1 dia atrás

Log de consentimento LGPD: a tabela MySQL que guarda a prova do aceite

O banner registra o clique só no navegador e some. Veja a tabela MySQL e o endpoint que gravam a…

2 dias atrás

Comando CLI Magento 2: criar a classe e registrar no di.xml

A classe do comando existe e o bin/magento list ignora ela. Falta o registro no di.xml: aqui vai a classe…

3 dias atrás

Traduzir o pt_BR.csv do Magento 2 em lote sem perder a coluna de origem

Como traduzir duas mil linhas do pt_BR.csv do Magento 2 lendo com fgetcsv e regravando com fputcsv, sem encostar na…

3 dias atrás

Variação não está disponível no WooCommerce: limpar transients e lookup

Produto variável respondendo "Desculpe, este produto não está disponível" mesmo com a variação ativa: limpe os transients do WooCommerce e…

4 dias atrás