Справочное руководство по MySQL




A.2.9 Коммуникационные ошибки / Оборванные соединения

Начиная с MySQL 3.23.40 ошибка Aborted connection выдается только в случае, если mysqld запущен с --warnings.

В журнале ошибок могут присутствовать ошибки наподобие этой:

010301 14:38:23 Aborted connection 854 to db: 'users' user: 'josh'

(see section 4.9.1 Журнал ошибок).

Такие ошибки сигнализируют об одной из следующих ситуаций:

  • Клиентская программа не выполнила mysql_close() перед выходом.
  • Клиент бездействовал на протяжении более чем wait_timeout или interactive_timeout (see section 4.5.6.4 SHOW VARIABLES).
  • Клиентская программа внезапно завершилась посреди передачи.

В подобных ситуациях увеличивается значение переменной сервера Aborted_clients.

Значение переменной сервера Aborted_connects увеличивается в следующих случаях:

  • Когда пакет соединения содержит неверную информацию.
  • Когда пользователь не имеет привилегий для соединения с базой данных.
  • Когда пользователь использует неверный пароль.
  • Когда на получение пакета соединения уходит более connect_timeout секунд.

Обратите внимание: все перечисленное выше может свидетельствовать о попытке взлома базы данных!

See section 4.5.6.4 SHOW VARIABLES.

Ниже перечислены другие причины проблем, которые могут возникнуть с оборванными клиентами или разорванными соединениями.

  • Использование как полудуплексного, так и полного дуплексного Ethernet-протокола под Linux. Данная ошибка присутствует во многих Linux-драйверах Ethernet. Выполните тест на данную ошибку - для этого следует передать очень большой файл через ftp-соединение между этими двумя машинами. Если передача проходит в режиме всплеск-пауза-всплеск-пауза ..., то можно констатировать наличие дуплексного синдрома Linux. Единственное решение проблемы - отключить как полу-, так и полнодуплексную передачу на концентраторах и коммутаторах.
  • Некоторая проблема с библиотекой потоков, вызывающая прерывания при чтении.
  • "Криво" сконфигурированный TCP/IP.
  • Дефектные Ethernet-карты, концентраторы, коммутаторы или кабели... Такие проблемы можно как следует диагностировать только путем замены оборудования.
  • max_allowed_packet слишком мала, или запросам требуется памяти больше, чем было выделено для mysqld (see section A.2.8 Ошибка Packet too large).

A.2.8 Ошибка Packet too largeОглавлениеA.2.10 Ошибка The table is full



Книжный магазин