web-dev-qa-db-fra.com

Pourquoi la connexion au serveur MySQL est-elle si lente?

J'utilise JDBC pour me connecter à MySQL. Quand c’est à localhost:3306, tout va bien.

Mais lorsque je déplace mon application sur un autre ordinateur de l'intranet et que j'utilise <Intranet-IP>:3306 pour me connecter à la base de données MySQL, la connexion à MySQL prend environ 1 minute. Qu'est-ce qui se passe avec ça?

19
MemoryLeak

Cela pourrait être un problème de DNS. Vous pouvez désactiver les recherches de noms d'hôte DNS en démarrant mysqld avec l'option --skip-name-resolve dans le fichier de configuration.

Lisez ici pour plus de détails: http://dev.mysql.com/doc/refman/5.0/en/Host-cache.html

33
Davide Ungari

Le --skip-name-resolve a fonctionné très bien pour moi.

Pour le rendre permanent, j'ajoute simplement cette ligne à la fin du fichier my.ini dans la section [mysql]:

skip-name-resolve

Et voila! Les transactions s'envolent maintenant!

13
Balta Ruiz

Pour moi, c’est cette solution que j’ai trouvée ici. Si la connectivité IP6 est activée, la connexion à "localhost" risque d’être lente, utilisez plutôt l’adresse ip 127.0.0.1. Cela a fonctionné pour moi.

mon problème de connexion lente avec mysql a été résolu par cette solution

7
Matt

pare-feu, Internet, routage, etc. ralentit votre connexion. 

Vous devriez plutôt mettre votre base de données sur un réseau intra. Gardez-le local et derrière votre gros pare-feu. Vous pouvez bien sûr avoir un pare-feu et une sécurité entre ordinateurs. Je vous recommande de ne pas exposer votre connexion de base de données mysql à Internet sans filtrage. 

0
Makach