猿问

使用 mysqldriver 连接到数据库时出错

我试图按照这里的说明https://github.com/go-sql-driver/mysql#installationhttp://go-database-sql.org/accessing.html创建一个 sql.db。

我的代码的第一行有这个

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

当我在终端上运行程序时,我得到了这个:

Default addr for network ''localhost'' unknown

为什么是这样?当我检查用户和主机到 mysql 时,它指出“用户名”和“本地主机”。我遵循这样的参数:

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


慕尼黑5688855
浏览 251回答 3
3回答

www说

您可能想要指定协议(如“ tcp”),而不是localhost直接指定。请参阅这些示例:user:password@tcp(localhost:5555)/dbname在你的情况下:username@tcp(localhost)/my_db请注意,如果您使用默认协议 ( tcp) 和主机 ( localhost:3306),则可以将其重写为user:password@/dbname

月关宝盒

我遇到了同样的问题,投票最多的答案对我没有帮助。救了我的是(host:port)在引号中 -->"(host:port)"

湖上湖

我在 Linux VM 上运行 Docker 容器时遇到了类似的问题。在我的应用程序 (&nbsp;server.go) 中,我更改了 localhost 值以使用我的虚拟机的 IP,然后成功构建并运行容器。mysql&nbsp;container&nbsp;(3307)&nbsp;<-->&nbsp;[(application&nbsp;mysql:<vm&nbsp;ip>:3307)&nbsp;container](expose&nbsp;3000)&nbsp;<-->&nbsp;&nbsp;world
随时随地看视频慕课网APP

相关分类

Go
我要回答