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?
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
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!
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
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.