Моєму додатку потрібно робити досить часті підключення до бази даних 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> SHOW GLOBAL STATUS LIKE 'Aborted_connects'; + ------------------ + ------- + | Ім'я змінної | Значення | + ------------------ + ------- + | Aborted_connects | 2540 | + ------------------ + ------- +
Я збільшив час очікування з 5 до 15 сек:
mysql> показувати змінні типу "connect_timeout"; + ----------------- + ------- + | Ім'я змінної | Значення | + ----------------- + ------- + | connect_timeout | 15 | + ----------------- + ------- +
але це не допомогло. Будь-які пропозиції, як це налагодити? Це робить взаємодія бази даних жахливо повільною, коли в середньому доводиться намагатися підключитися 5 разів, перш ніж вона працює.
Я ще не намагався тримати зв’язок відкритим протягом усього життя програми, було б краще? Як запобігти закриттю з'єднання?
Якщо це допомагає комп'ютеру з проблемами, це 32-бітний Windows 7, тоді як сервер mysql знаходиться на Debian Linux.