MySQL е

А.2.2. Грешка MySQL сървър е отишло далеч

Всички инструкции в този раздел се прилага и към свързана грешка Връзката със сървъра по време на заявката.

Най-често срещаната грешка MySQL сървър е отишло далеч е резултат от изтичане на времето на връзката и затваряне на сървъра. По подразбиране сървърът затваря връзката след 8 часа липса на активност. Можете да промените срока, настройка при стартиране Mysqld променлива wait_timeout.

Друга често срещана причина за да получавате грешката MySQL сървър е отишло далеч е да издаде заповед "затварянето" на MySQL връзка с последващото опит да се извърши заявка на затворената връзка.

Ако е било получено в сценария, а след това просто се повтаря искането от страна на клиента, че връзката се възстановява автоматично.

Обикновено в този случай, като се имат предвид следните кодове за грешки (които един ще получите, зависи от операционната система):

Клиентът не може да изпрати искане до сървъра.

Клиентът не се получи грешка при изпращането искане до сървъра, но той също не е получил пълен отговор (или поне някои от отговорите) при поискване.

Грешката ще бъде издадена, ако някой разруши изпълнение тема с убийство nomerpotoka.

Уверете се, че MySQL в движение, можете да използвате от mysqladmin версия и разглеждане на времето за работа (непрекъсната работа). Ако проблемът не е в изпълнение на спешно Mysqld. което трябва да се съсредоточи върху намирането на причината за инцидента. В този случай, първо трябва да се провери дали тя ще бъде унищожена от MySQL отново при повторно определяне поискване (виж раздел A.4.1, «Какво да правя, ако MySQL постоянно се срива").

Тези грешки ще бъдат издадени до сървър при изпращане на грешен или твърде дълго заявката. Ако Mysqld получава грешна или твърде голям пакет, сървърът приема, че клиентът, че нещо не е наред, и затваря връзката. Ако трябва да се извърши триизмерни въпроси (например, когато се работи с голям BLOB колони тип), можете да увеличите размера на лимита за търсене, като се започне с Mysqld -О max_allowed_packet = # (по подразбиране е 1 MB). Допълнителна памет се разпределя по поръчка, така Mysqld ще отпусне повече памет само, когато са издадени до голяма молба, или когато трябва да се върне Mysqld голям ред резултат!

Можете също така да получите загубил връзка, ако сте изпратили пакет повече от 16MB, ако вашият клиент е по-стара от 4.0.8 и вашият сървър е 4.0.8 или по-късно.

Ако имате желание да се направи доклад по този въпрос по погрешка, не забравяйте да включва следната информация в него:

Ако конкретна заявка убива Mysqld. и таблиците, използвани в него, преди заявката контролират с помощта на CHECK TABLE. е желателно да се направи тест за контрол (виж раздел Д.1.6, «Създаване на изпитване случай с повреден маса").

Wait_timeout променлива стойност в сървъра (тази стойност дава mysqladmin променливи).

Информация за това дали сте се опитали да тече Mysqld с --log и проверете дали издаденото заявката се появява в дневника.