Conforme declarado aqui :
Dois motivos mais comuns (e correções) para o servidor MySQL desapareceram (erro 2006) são:
O servidor atingiu o tempo limite e fechou a conexão. Como consertar:
verifique se a variável wait_timeout no arquivo de configuração my.cnf do seu mysqld é grande o suficiente. No Debian:sudo nano /etc/mysql/my.cnf
, definawait_timeout = 600
segundos (você pode diminuir/diminuir este valor quando o erro 2006 desaparecer), entãosudo /etc/init.d/mysql restart
. Eu não verifiquei, mas o valor padrão forwait_timeout pode ser em torno de 28800 segundos (8 horas).
O servidor descartou um pacote incorreto ou muito grande. Se o mysqld receber um pacote muito grande ou incorreto, ele assume que algo deu errado com o cliente e fecha a conexão. Você pode aumentar o limite máximo de tamanho de pacote aumentando o valor de max_allowed_packet no arquivo my.cnf. No Debian:sudo nano /etc/mysql/my.cnf
, definamax_allowed_packet = 64M
(você pode diminuir/diminuir este valor quando o erro 2006 desaparecer), entãosudo /etc/init.d/mysql restart
.
Editar:
Observe que os arquivos de opções do MySQL não possuem seus comandos já disponíveis como comentários (como no php.ini por exemplo). Portanto, você deve digitar qualquer alteração/ajuste em
my.cnf
ou my.ini
e coloque-os em mysql/data
diretório ou em qualquer um dos outros caminhos, sob o grupo de opções apropriado, como [client]
, [myslqd]
, etc. Por exemplo:[mysqld]
wait_timeout = 600
max_allowed_packet = 64M
Em seguida, reinicie o servidor. Para obter seus valores, digite no cliente mysql:
> select @@wait_timeout;
> select @@max_allowed_packet;