MySQL сервер исчез, PDO и max_allowed_packet в переполнении стека

Знаете ли вы, как избежать следующего фатального сообщения об ошибке:

«…Сервер MySQL ушел».

Я предполагаю, что это означает, что соединение PDO с MySQL было потеряно.

я проверил MySQL max_allowed_packet переменная, которая равна 268435456 (Я думаю, что это значение более чем достаточно).

0

Решение

Нет способа «избежать» этой ошибки. Эта ошибка происходит, когда вы теряете соединение с сервером БД. Это может произойти по разным причинам. Наиболее распространенная причина MySQL server has gone away ошибка в том, что сервер отключил тайм-аут и закрыл соединение.

Некоторые другие общие причины:

  • Вы (или администратор БД) убили работающий поток.
  • Вы попытались выполнить запрос после закрытия соединения с сервером.
  • Вы получили тайм-аут из соединения TCP / IP на стороне клиента.
  • Вы столкнулись с таймаутом на стороне сервера, и автоматическое переподключение на клиенте отключено.
  • И больше.

Проверьте это ссылка на сайт из документации MYSQL для получения дополнительной информации.

1

Другие решения

Вы можете проверить max_connections и убедиться, что они не достигнуты — это наиболее распространенная причина, которую я помню, чтобы вы получили эту ошибку.

0

Спасибо за ваши ответы. После нескольких дней исследований я решил сбросить соединение MySQL PDO каждые 250 секунд. Я знаю, что это не лучшее в своем классе решение, но это, по крайней мере, решение, позволяющее избежать проблемы.

0
По вопросам рекламы [email protected]