As bases de dados são componentes chave da maioria dos sites modernos, pelo que os erros que afetam o seu tendem a ser particularmente preocupantes. O erro “O servidor MySQL desapareceu“, por exemplo, pode fazê-lo acreditar que a sua base de dados foi perdida. Isso significa que você pode ter que recorrer ao seu backup mais recente para colocar seu site em funcionamento.

Apesar do quão intimidante parece, no entanto, o erro “MySQL server has gone away” é muito fácil de corrigir. Na verdade, com as instruções certas, o seu site deve estar de volta e funcionando em questão de minutos.

Neste artigo, vamos mostrar-lhe o que o erro “MySQL server has gone away” parece ser e quebrar o que pode causar isso no WordPress. Em seguida, vamos ensiná-lo a corrigi-lo e evitar que este erro apareça novamente no futuro.

Vamos ao trabalho!

Uma Introdução ao Erro “MySQL Server Has Gone Away”

Primeiro, vamos dar uma olhada rápida no que o erro “MySQL server has gone away” parece:

Navegador mostrando o erro "MySQL server has gone away" (O servidor MySQL desapareceu)
Navegador mostrando o erro “MySQL server has gone away” (O servidor MySQL desapareceu)

O erro em si é bastante simples e quase sempre aparece da mesma forma. No entanto, dependendo do navegador que você usa e da configuração do seu servidor, o texto específico pode mudar um pouco.

Quanto ao erro em si, ele tem a ver com o seu banco de dados MySQL, como você pode imaginar a partir do nome. Para ser mais específico, uma das três coisas geralmente causa esse erro na maioria dos sites:

  1. Há uma tabela quebrada na sua base de dados. Seu banco de dados ficou corrompido, então você precisa reverter para um backup recente ou repará-lo.
  2. Sua configuração de ‘timeout’ do PHP é muito baixa. Se um script PHP precisa de acesso à sua base de dados e não consegue obter a informação dentro da janela de timeout que foi definida, isto também pode disparar o erro mencionado anteriormente.
  3. Os pacotes foram descartados ou são muito grandes. O servidor considera que este é o caso, ele essencialmente fecha a conexão e vomita o erro.

Felizmente, todas estas questões podem ser facilmente abordadas. Vamos falar sobre como você pode iniciar o processo de solução de problemas.

Como Corrigir o Erro “MySQL Server Has Gone Away” no WordPress (3 Métodos)

Como vimos, existem algumas causas potenciais para este erro específico do WordPress.

Por essa razão, existem diferentes soluções possíveis. Na maioria dos casos, uma das correções abaixo deve se livrar do erro no seu site. Por isso, se um não funcionar, podes simplesmente passar para o próximo.

1. Editar Seu Arquivo WordPress wp-db.php

Se a configuração de tempo limite do PHP do seu site é muito baixa e seu banco de dados é muito grande, buscar os dados que você precisa durante essa janela pode ser um problema. Como mencionámos antes, isto pode disparar o erro “O servidor MySQL desapareceu”.

Para evitar que isso aconteça, você precisará editar um de seus arquivos principais do WordPress, chamado wp-db.php. Pode encontrar este ficheiro na sua pasta raiz do WordPress, abrindo o diretório wp-includes:

O arquivo wp-db.php
O arquivo wp-db.php

Para acessar esses arquivos, recomendamos que você use um cliente FTP como o FileZilla e conecte-se via SFTP (entenda a diferença entre FTP e SFTP). Uma vez conectado ao seu site, localize wp-db.php e clique com o botão direito do mouse nele para abrir o arquivo usando seu editor de texto local padrão. Siga este guia rápido para mostrar todos os arquivos ocultos no Filezilla.

Em seguida, procure no arquivo a seguinte linha:

$this->ready = true;

Adicione a seguinte linha logo abaixo desse código:

$this->query("set session wait_timeout=300");

O que este código faz é definir seu valor de timeout do PHP para 300 segundos, que deve ser muito mais do que você precisa para evitar que qualquer erro apareça.

Agora salve as alterações no seu arquivo wp-db.php e certifique-se de que seu site está carregando como deveria.

Por favor, note que se você é um usuário Kinsta, você não deve precisar alterar as configurações de timeout do PHP do seu site. Todos os nossos planos têm um valor base de timeout de 300 segundos fora da caixa e podemos ajudá-lo a aumentá-lo dependendo das suas necessidades.

2. Reparar o Seu Banco de Dados WordPress

Às vezes, seu banco de dados do WordPress pode ficar corrompido, o que, por sua vez, pode levar a erros quando você está tentando estabelecer uma conexão com ele. Isso não é tão comum assim, mas pode acontecer no curso do crescimento de um site normal à medida que você adiciona mais tabelas ao seu banco de dados (bem como informações sobre plugins e temas).

Para corrigir este problema, pode utilizar uma função WordPress integrada para reparar a sua base de dados. Primeiro, no entanto, você terá que habilitar esse recurso. Isso envolve navegar até o diretório raiz do WordPress e abrir o arquivo wp-config.php para editá-lo.

Quando o arquivo estiver aberto, vá até o final e adicione a seguinte linha a ele:

define('WP_ALLOW_REPAIR', true);

Essa simples linha de código diz ao WordPress para ativar a função de reparação da base de dados. Salve as alterações em wp-config.php e feche o arquivo. Para executar a função, basta visitar o seguinte URL:

https://yourwebsite.com/wp-admin/maint/repair.php

WordPress irá então perguntar se você deseja simplesmente reparar o seu banco de dados ou reparar e otimizá-lo. A primeira opção é tudo o que você precisa para corrigir o erro “O servidor MySQL desapareceu”:

A opção de banco de dados de reparos no WordPress
A opção de banco de dados de reparos no WordPress

O processo não deve demorar muito, e quando é feito, o erro em questão deve ser ido embora. No entanto, você ainda tem algumas limpezas a fazer, pois você precisará desativar a função de reparo do banco de dados em seu site. Se você não fizer isso, qualquer um pode acioná-lo acessando a mesma URL.

Antes de terminar, portanto, retorne ao diretório raiz do WordPress e remova a linha de código que você adicionou anteriormente. Em seguida, salve suas alterações no arquivo e feche-o.

3. Restaurar o Seu Site Usando um Backup Através de Seu Provedor de Hospedagem

Se tudo o mais falhar, você pode sempre usar um backup completo do seu site para restaurá-lo a um ponto em que o banco de dados estava funcionando corretamente. Idealmente, você fará isso com um backup recente para que você perca o mínimo de dados possível.

O problema é que nem todos os hosts web do WordPress oferecem funcionalidade de backup integrada para seus usuários. Isso significa que muitas vezes você está preso usando soluções manuais como plugins. Essas ferramentas não são necessariamente ruins, mas se você não tiver acesso à sua área administrativa do WordPress, a restauração de um backup se torna uma tarefa difícil.

Aqui em Kinsta, por outro lado, você tem acesso a backups completos do seu site com todos os planos. Para restaurar o seu site (incluindo a sua base de dados) para um ponto anterior, basta aceder ao seu painel de controlo de alojamento e procurar o separador Backups:

Restaurar o seu backup no MyKinsta
Restaurar o seu backup no MyKinsta

Clique no backup que você deseja restaurar e verá mais detalhes sobre quando ele foi criado. Para cada backup, há um botão Restaurar que você pode usar para retornar seu site ao seu estado naquele momento.

Lembre-se, no entanto: usar esta funcionalidade irá substituir a versão atual do seu site. Portanto, você só vai querer usá-lo como uma medida de último recurso quando tiver certeza de que não perderá nenhuma informação crítica.

Resumo

Quanto mais o seu site cresce, mais dados ele precisará armazenar. Todas essas informações vão para o seu banco de dados do WordPress. Em alguns casos, se ele ficar muito grande, você pode encontrar erros como “O servidor MySQL desapareceu”.

Se você encontrar este erro em particular, aqui estão três maneiras de se livrar dele:

  1. Edite seu arquivo wp-db.php do WordPress.
  2. Repare a sua base de dados WordPress.
  3. Restaure o seu site usando um backup através do seu provedor de hospedagem.

Neste outro guia, mostramos a você dicas e passos adicionais sobre como reparar seus problemas com o banco de dados WordPress.

Agora que você sabe como corrigir, é hora de realmente se livrar dessa irritante mensagem de erro. Se você ainda está enfrentando problemas com o MySQL, você pode querer verificar Como corrigir o erro MySQL 1064.