Ошибка MySQL Server Has Gone Away (error 2006) может возникнуть в двух случаях.
Наиболее распространенная проблема: таймаут соединения, в результате чего сервер его закрывает. Решение весьма тривиальное — увеличение лимита времени wait_timeout в файле конфигурации my.cnf. Для этого в Debian нужно выполнить:
sudo nano /etc/mysql/my.cnf
Открытие файла настроек MySQL
Затем установить тайм-аут ожидания:
wait_timeout = 600
Время ожидания в секундах, можно установить вплоть до 28800 с (8 часов)
Не забудьте перезагрузить базу:
sudo /etc/init.d/mysql restart
Перезагрузка базы данных MySQL
Иногда, при выполнении длительных запланированных задач, также может появиться ошибка MySQL Server Has Gone Away все из-за того же таймаута соединения. При этом лимит времени не получится существенно увеличить (максимум до нескольких часов), так как это может привести к заполнению буфера ожидающими соединениями.
Поэтому лучше проверить соединение и, при необходимости, переподключиться.
$link = mysql_connect("localhost","root","root"); # Здесь будут cron jobs if( !mysql_ping($link) ) $link = mysql_connect("localhost","root","root", true);
Подключение БД и переподключение при необходимости
Вторая распространенная проблема: сервер получает большой или некорректный пакет и отклоняет его. В этом случае сервер считает, что проблема на стороне клиента и закрывает соединение. Так что для решения нужно увеличить лимит на максимальный размер пакета все в том же файле конфигурации:
[mysqld] ... max_allowed_packet = 64M …
Увеличение лимита размера входящего пакета, в МБ
Также не забудьте перезагрузить базу данных.
После того, как устраните ошибку MySQL Server Has Gone Away, поиграйтесь с параметрами wait_timeout и max_allowed_packet для получения оптимальных лимитов.
Этот текст был написан несколько лет назад. С тех пор упомянутые здесь инструменты и софт могли получить обновления. Пожалуйста, проверяйте их актуальность.
Сегодня мы поговорим о том, как выбрать лучшие курсы Power BI в Украине, особенно для…
В 2023 году во всех крупнейших регионах конкуренция за вакансию выросла на 5–12%. Не исключением…
Unicorn Hunter/Talent Manager Лина Калиш создала бесплатный трекер поиска работы в Notion, систематизирующий все этапы…
Edtech-стартап Mate academy принял решение отправить своих работников в десятидневный отпуск – с 25 декабря…
Служба безопасности Украины задержала в Киеве 46-летнего программиста, который за деньги устанавливал шпионские программы и…
IT-специалист Джордан Катлер создал и выложил на Github подборку разнообразных ресурсов, которые помогут достичь уровня…