Моему приложению нужно довольно часто подключаться к базе данных mysql на другом компьютере. Однако я получаю частые ошибки при подключении; Я обычно могу в конечном итоге подключиться, но после многих попыток. Я получаю сообщение об ошибке:
Mysql.mysql(): Couldn't connect to SQL-server: Lost connection to MySQL server at 'reading authorization packet', system error: 2
Я прочитал информацию здесь: http://dev.mysql.com/doc/refman/5.0/en/error-lost-connection.html, а также комментарии к ошибке http://bugs.mysql.com/bug .php? id = 28359 .
Существует довольно много прерванных соединений, как вы можете видеть:
mysql> ПОКАЗАТЬ ГЛОБАЛЬНОЕ СОСТОЯНИЕ, КАК 'Aborted_connects'; + ------------------ + ------- + | Переменное_имя | Значение | + ------------------ + ------- + | Aborted_connects | 2540 | + ------------------ + ------- +
Я увеличил время ожидания с 5 до 15 секунд:
mysql> показывать переменные типа 'connect_timeout'; + ----------------- + ------- + | Переменное_имя | Значение | + ----------------- + ------- + | connect_timeout | 15 | + ----------------- + ------- +
но это не помогло. Любые предложения, как отладить это? Это делает взаимодействие с базой данных ужасно медленным, когда в среднем приходится пытаться подключиться 5 раз, прежде чем оно заработает.
Я еще не пытался держать соединение открытым в течение всего срока службы приложения, было бы лучше? Как я могу предотвратить закрытие соединения?
Если это помогает компьютеру с проблемами, то Windows 7 32-разрядная, в то время как сервер MySQL находится на Debian Linux.
источник
Ответы:
Просматривая все подробности ошибки, я подозреваю, что здесь есть проблема со стороны сети или клиента. Что-то либо портит, либо добавляет слишком много задержки к данным mysql.
В чистой сети выполните трассировку проволочной акулы и проверьте, на что похож разговор. Убедитесь, что нигде не происходит формирование трафика. Похоже только на 64-битную проблему, поэтому проверьте 32-битную сборку, чтобы убедиться, что это та же проблема. Установите флажок Windows XP - M $ сделал несколько интересных вещей для сетевого стека в Vista, что сделало его отстойным! У нас нет конца сетевых проблем с машинами Vista и Win7!
Если вы управляете трассировкой проволочной акулы, вставьте ссылку и разместите ссылку, как нам всем хотелось бы посмотреть.
источник
В конце концов это произошло из-за общей проблемы с сетью на машине. Решение было найдено в: Проблемы с производительностью сети на Windows 7
источник