Моему приложению нужно довольно часто подключаться к базе данных 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.