Como corrigir MySQL server has gone away
Perguntas frequentes
O que significa MySQL server has gone away?
Significa que a conexão com o servidor MySQL foi encerrada antes de a query terminar. O WordPress tinha uma conexão aberta, mas o servidor a fechou por timeout, por exceder o limite de pacote ou porque o MySQL reiniciou.
O erro só aparece em importações grandes. Por quê?
Porque a query envia um pacote maior que o max_allowed_packet do servidor, e o MySQL derruba a conexão. Aumentar o max_allowed_packet para 64M ou mais costuma resolver esse caso.
Qual a diferença entre wait_timeout e max_allowed_packet?
O wait_timeout controla quanto tempo uma conexão ociosa fica aberta antes de ser fechada. O max_allowed_packet controla o tamanho máximo de um pacote enviado ao servidor. Erros após inatividade pedem o primeiro; erros em dados grandes pedem o segundo.
Estou em hospedagem compartilhada e não acesso o my.cnf. O que faço?
Abra um chamado com o suporte pedindo para aumentar o max_allowed_packet e o wait_timeout do MySQL. Muitos painéis também expõem esses limites na seção de banco de dados.
Pode ser falta de memória do servidor?
Sim. Se o MySQL é encerrado pelo OOM killer por falta de RAM, ele reinicia e derruba as conexões, gerando o erro. Verifique o uso de memória do plano; em picos constantes, avalie subir de plano.
Aumentei os timeouts e o erro persiste. O que checar?
Confirme que o MySQL não está reiniciando (veja o log do serviço) e que o ajuste foi aplicado de fato (a sessão precisa ser reiniciada). Consultas mal otimizadas que estouram o net_write_timeout também provocam o erro.














