PDO: сервер MySQL ушел

У меня есть сценарий, который делает большую работу, требующую беготни ночью.

Это использует подготовленный оператор PDO, который выполняется в цикле.

Несколько первых хорошо работают, но тогда я добираюсь до точки, где они все перестали работать с ошибкой: "Сервер MySQL ушел".

Мы выполняем MySQL 5.0.77.

Версия 5.2.12 PHP

Остальная часть сайта хорошо работает.

43
задан Nathan H 9 February 2010 в 20:01
поделиться

3 ответа

B.5.2.9. Сервер MySQL ушел. В разделе руководства по MySQL есть список возможных причин этой ошибки.

Может быть, вы попали в одну из таких ситуаций? - Особенно с учетом того, что вы выполняете долгую операцию, пункт о wait_timeout может быть интересным ...

29
ответ дан 26 November 2019 в 23:04
поделиться

Попробуйте использовать PDO :: setAttribute (PDO :: ATTR_EMULATE_PREPARES, true) в экземплярах ваших подов. Не знаю, что это поможет, но без данных журнала все, что у меня есть.

2
ответ дан 26 November 2019 в 23:04
поделиться

Вероятно, что либо ваше соединение было прервано (например, wait_timeout или другим потоком, выдающим команду KILL), либо произошел сбой сервера, либо вы каким-то образом нарушили протокол mysql.

Последнее, скорее всего, будет ошибкой в ​​PDO, что очень вероятно, если вы используете подготовленные операторы на стороне сервера или несколько результатов (подсказка: не делайте этого)

Необходимо расследовать сбой сервера ; посмотрите логи сервера.

Если вы все еще не знаете, что происходит, используйте дампер сетевых пакетов (например, tcpdump), чтобы выгрузить содержимое соединения.

Вы также можете включить общий журнал запросов, но в производственной среде делайте это очень осторожно.

2
ответ дан 26 November 2019 в 23:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: