Начиная с MySQL 3.23.40 ошибка Aborted connection выдается только в
случае, если mysqld запущен с --warnings.
В журнале ошибок могут присутствовать ошибки наподобие этой:
010301 14:38:23 Aborted connection 854 to db: 'users' user: 'josh'
(see Раздел 4.9.1, «Журнал ошибок»).
Такие ошибки сигнализируют об одной из следующих ситуаций:
Клиентская программа не выполнила
mysql_close()перед выходом.Клиент бездействовал на протяжении более чем
wait_timeoutилиinteractive_timeout(see Раздел 4.5.6.4, «SHOW VARIABLES»).Клиентская программа внезапно завершилась посреди передачи.
В подобных ситуациях увеличивается значение переменной сервера
Aborted_clients.
Значение переменной сервера Aborted_connects увеличивается в следующих
случаях:
Когда пакет соединения содержит неверную информацию.
Когда пользователь не имеет привилегий для соединения с базой данных.
Когда пользователь использует неверный пароль.
Когда на получение пакета соединения уходит более
connect_timeoutсекунд. See Раздел 4.5.6.4, «SHOW VARIABLES».
Обратите внимание: все перечисленное выше может свидетельствовать о попытке взлома базы данных!
Ниже перечислены другие причины проблем, которые могут возникнуть с оборванными клиентами или разорванными соединениями.
Использование как полудуплексного, так и полного дуплексного Ethernet-протокола под Linux. Данная ошибка присутствует во многих Linux-драйверах Ethernet. Выполните тест на данную ошибку - для этого следует передать очень большой файл через ftp-соединение между этими двумя машинами. Если передача проходит в режиме всплеск-пауза-всплеск-пауза ..., то можно констатировать наличие дуплексного синдрома Linux. Единственное решение проблемы - отключить как полу-, так и полнодуплексную передачу на концентраторах и коммутаторах.
Некоторая проблема с библиотекой потоков, вызывающая прерывания при чтении.
"Криво" сконфигурированный TCP/IP.
Дефектные Ethernet-карты, концентраторы, коммутаторы или кабели... Такие проблемы можно как следует диагностировать только путем замены оборудования.
max_allowed_packetслишком мала, или запросам требуется памяти больше, чем было выделено дляmysqld(see Раздел A.2.8, «ОшибкаPacket too large»).