Spec-Zone .ru
спецификации, руководства, описания, API
|
Если проблемы соединения происходят, такие как коммуникационные ошибки или прерванные соединения, используйте эти источники информации, чтобы диагностировать проблемы:
Журнал ошибок. См. Раздел 5.2.2, "Журнал ошибок".
Общий журнал запросов. См. Раздел 5.2.3, "Общий Журнал запросов".
Aborted_
и
xxx
Connection_errors_
переменные
состояния. См. Раздел 5.1.6, "Переменные Состояния
Сервера". xxx
Кэш узла, который является доступным использованием host_cache
Таблица Схемы производительности. См. Раздел
8.11.5.2, "Оптимизация Поиска DNS и Кэш Узла", и Раздел
21.9.9.1," host_cache
Таблица".
Если Вы запускаете сервер с --log-warnings
опция, Вы могли бы найти сообщения как это в Вашем журнале ошибок:
010301 14:38:23 Aborted connection 854 to db:'users' user: 'josh'
Если клиент успешно соединяется, но более поздние разъединения ненадлежащим образом или завершается, сервер
постепенно увеличивается Aborted_clients
переменная состояния, и журналы Прерванное
сообщение соединения к журналу ошибок. Причиной может быть любое следующее:
Клиентская программа не вызывала mysql_close()
перед выходом.
Клиент спал больше чем wait_timeout
или interactive_timeout
секунды, не выпуская запросов к серверу. См. Раздел 5.1.4, "Системные Переменные Сервера".
Клиентская программа, законченная резко в середине передачи данных.
Если клиент неспособен даже соединиться, сервер постепенно увеличивается Aborted_connects
переменная состояния. Неудачные попытки подключения могут
произойти по следующим причинам:
У клиента нет полномочий соединиться с базой данных.
Клиент использует неправильный пароль.
Пакет соединения не содержит правильную информацию.
Это берет больше чем connect_timeout
секунды, чтобы получить соединить пакет. См. Раздел 5.1.4, "Системные Переменные Сервера".
Если эти виды вещей происходят, это могло бы указать, что кто-то пытается ворваться в Ваш сервер! Сообщения для этих типов проблем регистрируются к общему журналу запросов, если он включается.
Другие причины проблем с прерванными клиентами или прерванными соединениями:
max_allowed_packet
значение переменной является слишком небольшим, или
запросы требуют большего количества памяти, чем Вы выделили для mysqld. См. Раздел
C.5.2.10, "Пакет, Слишком Большой".
Использование протокола Ethernet с Linux, и полудуплексный и полный дуплекс. У многих драйверов Ethernet Linux есть эта ошибка. Следует протестировать на эту ошибку, передавая огромный файл, используя FTP между машинами клиента и сервера. Если передача входит в режим "пакетная пакетная пауза паузы", Вы испытываете синдром дуплекса Linux. Переключите дуплексный режим для обеих своих сетевых плат и концентратора/переключателя или к полному дуплексу или к полудуплексу и протестируйте результаты определить лучшую установку.
Проблема с библиотекой потока, которая вызывает прерывания на чтениях.
Ужасно сконфигурированный TCP/IP.
Дефектные Ethernet, концентраторы, переключатели, кабели, и т.д. Это может быть диагностировано должным образом только, заменяя аппаратные средства.
См. также Раздел
C.5.2.9,"MySQL server has gone away
".