Spec-Zone.ru › MySQL 5.7

B.3.2.9 Ошибки связи и прерванные соединения

При возникновении проблем с соединением, таких как ошибки связи или прерванные соединения, используйте эти источники информации для диагностики проблем:

  • Журнал ошибок. См. Раздел 5.4.2, «Журнал ошибок».

  • Журнал общих запросов. См. Раздел 5.4.3, «Журнал общих запросов».

  • Переменные состояния Aborted_xxx и Connection_errors_xxx. См. Раздел 5.1.9, «Переменные состояния сервера».

  • Кэш хоста, доступный с помощью таблицы Performance Schema host_cache. См. Раздел 5.1.11.2, «DNS-запросы и кэш хоста» и Раздел 25.12.16.1, «Таблица host_cache».

Если переменная системы log_error_verbosity установлена в 3, вы можете найти такие сообщения в журнале ошибок:

[Note] Aborted connection 854 to db: 'employees' user: 'josh'

Если клиент не может даже подключиться, сервер увеличивает переменную состояния Aborted_connects. Неудачные попытки подключения могут произойти по следующим причинам:

  • Клиент пытается получить доступ к базе данных, но не имеет для этого привилегий.

  • Клиент использует неправильный пароль.

  • В пакете подключения отсутствует необходимая информация.

  • Получение пакета подключения занимает более connect_timeout секунд. См. Раздел 5.1.7, «Переменные системы сервера».

Если происходит подобное, это может указывать на попытку взлома вашего сервера! Если включен журнал общих запросов, сообщения о таких проблемах будут записываться в него.

Если клиент успешно подключается, но затем неправильно отключается или прерывается, сервер увеличивает переменную состояния Aborted_clients и записывает сообщение Прерванное соединение в журнал ошибок. Причиной может быть что-либо из следующего:

  • Программа клиента не вызвала метод перед завершением работы.

  • Клиент находился в режиме ожидания более wait_timeout или interactive_timeout секунд без выдачи запросов серверу. См. Раздел 5.1.7, «Переменные системы сервера».

  • Программа клиента внезапно завершилась в середине передачи данных.

Другие причины проблем с прерванными соединениями или прерванными клиентами:

  • Значение переменной max_allowed_packet слишком мало, или запросы требуют больше памяти, чем выделено для mysqld. См. Раздел B.3.2.8, «Пакет слишком большой».

  • Использование протокола Ethernet с Linux, как в режиме полудуплекса, так и в режиме полдуплекса. Некоторые драйверы Ethernet Linux имеют эту ошибку. Вы должны проверить эту ошибку, передавая большой файл с помощью FTP между клиентской и серверной машинами. Если передача происходит в режиме импульс-пауза-импульс-пауза, у вас наблюдается синдром дуплекса Linux. Переключите режим дуплекса для вашей сетевой карты и концентратора/коммутатора либо на полный дуплекс, либо на полудуплекс и проверьте результаты, чтобы определить наилучшее значение.

  • Проблема с библиотекой потоков, вызывающая прерывания при чтении.

  • Неправильно настроенный TCP/IP.

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

См. также Раздел B.3.2.7, «Сервер MySQL вышел из строя».

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-5.7-en/communication-errors.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API