Erreur : "composer tcp 127.0.0.1:3306 : connexion : connexion refusée" Lors de la connexion à MySQL depuis Go dans Docker
Dans un Lorsque vous tentez de vous connecter à un serveur MySQL exécuté sur un Mac à l'aide de Go et Docker, un message d'erreur apparaît : "dial tcp 127.0.0.1:3306 : connect : connexion refusée." Cette erreur se produit malgré une connexion réussie à la base de données sur localhost:3306 à l'aide de Navicat pour MySQL.
Cette erreur se produit en raison de la nature de l'isolation de Docker sur Mac. Docker s'exécute dans une machine virtuelle (VM) sous la surface, ce qui rend difficile l'accès direct aux services fournis par la machine hôte.
Pour résoudre ce problème, ajustez votre chaîne de connexion pour utiliser docker.for.mac.localhost :3306 au lieu de 127.0.0.1:3306. Ce nom d'hôte spécial permet la communication entre le conteneur Docker et la machine hôte.
Le code Go modifié devrait ressembler à ceci :
<code class="go">db, err = sql.Open("mysql", dbUser+":"+dbPassword+"@tcp(docker.for.mac.localhost:3306)/"+dbName)</code>
Cette modification devrait résoudre le problème de connexion et permettre la communication entre votre Accédez à l'application et au serveur MySQL exécutés sur la machine hôte.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!