Открыта возможность перехода на модули с открытым кодом! Детали

Перейти к публикации

Ошибка MySQL server has gone away


Рекомендованные сообщения

Ошибка MySQL Server Has Gone Away (error 2006) может возникнуть в двух случаях.

Таймаут соединения

Наиболее распространенная проблема: таймаут соединения, в результате чего сервер его закрывает. Решение весьма тривиальное — увеличение лимита времени wait_timeout в файле конфигурации my.cnf. Увеличьте время ожидания в секундах, можно установить вплоть до 28800 с (8 часов), например:

wait_timeout = 600

Тайм-аут подключения MySQL в конфигурации PHP

Загляните в конфигурационный файл php.ini. Вы найдете параметры конфигурации MySQL. Убедитесь, что параметр mysql.connect_timeout не установлен ниже значения MySQL wait_timeout, описанного выше. Попробуйте увеличить mysql.connect_timeout, чтобы он соответствовал вашему MySQL wait_timeout или превысил его, и убедитесь, что mysql.allow_persistent включен (по умолчанию = enabled).

mysql.connect_timeout=600
mysql.allow_persistent=1

Большой или некорректный пакет

Вторая распространенная проблема: сервер получает большой или некорректный пакет и отклоняет его. В этом случае сервер считает, что проблема на стороне клиента и закрывает соединение. Так что для решения нужно увеличить лимит на максимальный размер пакета (в мегабайтах) все в том же файле конфигурации, например:

max_allowed_packet = 64M

После изменения настроек не забудьте перезагрузить базу данных.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Гость
Эта тема закрыта для публикации сообщений.
×
×
  • Создать...