Помилка MySQL server has gone away
Помилка MySQL Server Has Gone Away (error 2006) може виникнути у різних випадках.
Таймаут з'єднання
Найбільш поширена проблема: таймаут з'єднання, у результаті сервер його закриває. Рішення дуже просто – збільшення ліміту часу для параметра wait_timeout у файлі конфігурації my. cnf. Для цього на хостинг-сервері Linux необхідно відредагувати файл конфігурації MySQL:
/etc/ my. cnf
Встановити тайм-аут очікування для параметра wait_timeout - кількість секунд, протягом яких сервер чекає активності в неінтерактивному з'єднанні, перш ніж закрити його, можна встановити аж до 28800 с (8 годин).
[mysqld] . . . wait_timeout = 600 . . .
[mysqld] . . . wait_timeout = 600 . . .
Потім перезавантажити сервер бази даних MySQL:
service mysql restart
service mysql restart
Великий чи некоректний пакет
Друга поширена проблема: сервер отримує великий або некоректний пакет та відхиляє його. У цьому випадку сервер вважає, що проблема на стороні клієнта та закриває з'єднання. Так що для вирішення потрібно збільшити ліміт на максимальний розмір пакета все в тому ж файлі конфігурації.
Збільшення ліміту розміру вхідного пакета в МБ
[mysqld] . . . max_allowed_packet = 256M …
[mysqld] . . . max_allowed_packet = 256M …
Також не забудьте перезавантажити сервер бази даних.