Mon application doit effectuer des connexions assez fréquentes à une base de données mysql sur une autre machine. Cependant, je reçois fréquemment des erreurs de connexion; Je peux généralement me connecter, mais après de nombreuses tentatives. Le message d'erreur que je reçois est:
Mysql.mysql(): Couldn't connect to SQL-server: Lost connection to MySQL server at 'reading authorization packet', system error: 2
J'ai lu les informations ici: http://dev.mysql.com/doc/refman/5.0/en/error-lost-connection.html ainsi que les commentaires du bug http://bugs.mysql.com/bug .php? id = 28359 .
Il existe un certain nombre de connexions interrompues, comme vous pouvez le voir:
mysql> AFFICHER LE STATUT MONDIAL COMME 'Aborted_connects'; + ------------------ + ------- + | Nom_variable | Valeur | + ------------------ + ------- + | Aborted_connects | 2540 | + ------------------ + ------- +
J'ai augmenté le délai d'attente de 5 à 15 s:
mysql> afficher des variables comme 'connect_timeout'; + ----------------- + ------- + | Nom_variable | Valeur | + ----------------- + ------- + | connect_timeout | 15 | + ----------------- + ------- +
mais cela n'a pas aidé. Des suggestions pour déboguer cela? Cela rend l'interaction avec la base de données horriblement lente quand elle doit en moyenne essayer de se connecter 5 fois avant de fonctionner.
Je n'ai pas encore essayé de garder la connexion ouverte pendant toute la durée de vie de l'application, serait-ce mieux? Comment empêcher la fermeture de la connexion?
Si cela aide l'ordinateur avec les problèmes, c'est Windows 7 32 bits, alors que le serveur mysql est sous Debian Linux.