英文:
How to correctly connect mysql docker container with go ?
问题
我今天开始学习Docker,遇到了一个大问题。我想通过go-sql-driver/mysql打开MySQL连接。
我可以使用sequel pro在localhost:3306上连接MySQL容器,但是在go-sql-driver/mysql中似乎无法工作。
这是我尝试的代码:
db, err := sql.Open("mysql", "root:welcome@/tcp(127.0.0.1:3306)/test")
//也尝试过172.17.0.1:3306和172.17.0.2:3306
这是我的容器网络信息:
"Networks": {
"bridge": {
"IPAMConfig": null,
"Links": null,
"Aliases": null,
"NetworkID": "47b2a5c798522f5eb6688c4540b4017335eb174528d510b9f1d35d125313017c",
"EndpointID": "ca2256684928e4184efd36f880cd70d3809d79db5b30c10ab37c66ccbbbba610",
"Gateway": "172.17.0.1",
"IPAddress": "172.17.0.2",
"IPPrefixLen": 16,
"IPv6Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"MacAddress": "02:42:ac:11:00:02"
}
}
由于我对虚拟机还不熟悉,我不确定应该提供哪些信息才能得到正确的答案。
英文:
I started to learn docker today and have big blocker.
What I am trying to do is thatopen mysql connection using go-sql-driver/mysql.
I can connect mysql container using sequel pro with localhost:3306
However, it seems not working with go-sql-driver/mysql
db, err := sql.Open("mysql", "root:welcome@/tcp(127.0.0.1:3306)/test")
//tried 172.17.0.1:3306 and 172.17.0.2:3306
and this is my container's network info
"Networks": {
"bridge": {
"IPAMConfig": null,
"Links": null,
"Aliases": null,
"NetworkID": "47b2a5c798522f5eb6688c4540b4017335eb174528d510b9f1d35d125313017c",
"EndpointID": "ca2256684928e4184efd36f880cd70d3809d79db5b30c10ab37c66ccbbbba610",
"Gateway": "172.17.0.1",
"IPAddress": "172.17.0.2",
"IPPrefixLen": 16,
"IPv6Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"MacAddress": "02:42:ac:11:00:02"
}
}
I am not sure which info I should provide to get right answer since I am new to vm
答案1
得分: 4
你的连接有问题,请使用以下代码:
db, err := sql.Open("mysql", "root:welcome@tcp(127.0.0.1:3306)/test")
注意,在“@”之后删除了“/”。
README中指出,有效的连接路径应该是这样的:
[用户名[:密码]@][协议[(地址)]]/数据库名
英文:
Your connection is wrong, use
db, err := sql.Open("mysql", "root:welcome@tcp(127.0.0.1:3306)/test")
Notice that "/" is removed after "@"
The README says a valid connection path is like
[username[:password]@][protocol[(address)]]/dbname
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论