«Сервер MySQL исчез», а затем «Получен пакет, размер которого превышает байты max_allowed_packet»

0

Многие спрашивают об этом, но ни один из предыдущих ответов не разрешил мою проблему.

Я запускаю веб-приложение CakePHP, и я так часто получаю 2 ошибки подряд:

MySQL server has gone away in [/var/www/html/vendor/cakephp/cakephp/src/Database/Driver/PDODriverTrait.php, line 159]

с последующим

SQLSTATE[08S01]: Communication link failure: 1153 Got a packet bigger than 'max_allowed_packet' bytes

Это происходит, когда новая запись пытается быть вставлена в БД.

После ошибок соединение с базой данных по-прежнему работает, поскольку PHP все еще может читать из него, но ЛЮБОЙ новый INSERT в базу данных приводит к другому. Got a packet bigger than 'max_allowed_packet' bytes. Единственным решением в этой точке является перезапуск mySQL или ошибка будет отображаться на каждом другом INSERT навсегда.

Я уже установил max_allowed_packet = 512M в my.cnf, как было предложено, и это не решило проблему.

Я отказываюсь верить, что кто-то отправляет пакет размером более 512 МБ! Я что-то пропустил? Есть ли какой-то кеш или очередь где-то, что так часто просто заполняется, что перезапуск очищается и заставляет все снова работать отлично?

  • 0
    каков размер ваших данных?
  • 0
    @ Altmish-E-Azam Это мало. Получил ошибку этим утром, когда пользователь попытался зарегистрироваться (буквально почтовый запрос с 5 полями).
Показать ещё 2 комментария
Теги:
cakephp

1 ответ

1
Лучший ответ

Оказывается, это была ошибка с CakePHP <3.6.10

Исправлено: https://github.com/cakephp/cakephp/pull/11668

Ещё вопросы

Сообщество Overcoder
Наверх
Меню