Както е посочено тук :
Две най-често срещани причини (и поправки) MySQL сървърът е изчезнал (грешка 2006) са:
Времето за изчакване на сървъра изтече и връзката затвори. Как да коригирам:
проверете дали променливата wait_timeout в конфигурационния файл my.cnf на mysqld е достатъчно голяма. На Debian:
sudo nano /etc/mysql/my.cnf
, задайтеwait_timeout = 600
секунди (можете да промените/намалите тази стойност, когато грешка 2006 изчезне), след товаsudo /etc/init.d/mysql restart
. Не проверих, но стойността по подразбиране forwait_timeout може да е около 28800 секунди (8 часа).Сървърът изпусна неправилен или твърде голям пакет. Ако mysqld получи пакет, който е твърде голям или неправилен, той приема, че нещо се е объркало с клиента и затваря връзката. Можете да увеличите ограничението за максимален размер на пакета, като увеличите стойността на max_allowed_packet в my.cnf файл. На Debian:
sudo nano /etc/mysql/my.cnf
, задайтеmax_allowed_packet = 64M
(можете да промените/намалите тази стойност, когато грешка 2006 изчезне), след товаsudo /etc/init.d/mysql restart
.
Редактиране:
Забележете, че файловете с опции на MySQL нямат вече наличните команди като коментари (като в php.ini например). Така че трябва да въведете всяка промяна/настройка в my.cnf
или my.ini
и ги поставете в mysql/data
директория или в някой от другите пътища, под правилната група от опции, като [client]
, [myslqd]
, и т.н. Например:
[mysqld]
wait_timeout = 600
max_allowed_packet = 64M
След това рестартирайте сървъра. За да получите техните стойности, въведете в клиента mysql:
> select @@wait_timeout;
> select @@max_allowed_packet;