Spec-Zone.ru › MySQL 8.4

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

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

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

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

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

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

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

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

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

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

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

  • Пакет подключения не содержит необходимой информации.

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

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

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

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

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

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

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

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

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

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

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

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

См. также раздел B.3.2.7, «Сервер MySQL отсутствует».

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

Spec-Zone.ru

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