web-dev-qa-db-fra.com

erreur de connexion à la base de données avec le pilote mysql

J'essaie de suivre les instructions ici https://github.com/go-sql-driver/mysql#installation et http://go-database-sql.org/accessing.html créer un sql.db.

La première ligne de mon code a ceci

db, err := sql.Open("mysql", "username@localhost/my_db")

Quand j'ai exécuté le programme sur le terminal, j'ai eu ceci:

Default addr for network ''localhost'' unknown

Pourquoi est-ce? Lorsque j'ai vérifié l'utilisateur et l'hôte de mysql, il indique 'nom d'utilisateur' et 'localhost'. J'ai suivi les paramètres comme ceci:

[username[:password]@][protocol[(address)]]/dbname[?param1=value1&...&paramN=valueN]
33
user3918985

Vous voudrez peut-être spécifier le protocole (comme 'tcp') au lieu de localhost directement.
Voir ces exemples :

user:password@tcp(localhost:5555)/dbname

Dans ton cas:

username@tcp(localhost)/my_db

Notez que si vous utilisez le protocole par défaut (tcp) et l’hôte (localhost:3306), cela pourrait être réécrit comme

user:password@/dbname
76
VonC

j'avais rencontré un problème similaire car j'exécutais des conteneurs Docker sur ma machine virtuelle Linux. Dans mon application (server.go), j'ai modifié la valeur localhost pour utiliser l'adresse IP de ma machine virtuelle, puis générer et exécuter le conteneur avec succès.

conteneur mysql (3307) <-> [(application mysql :: 3307) conteneur] (expose 3000) <-> monde 

0
nevosial