我试图按照这里的说明https://github.com/go-sql-driver/mysql#installation和http://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'和'localhost'。我按照如下参数:
[username[:password]@][protocol[(address)]]/dbname[?param1=value1&...¶mN=valueN]
3条答案
按热度按时间30byixjq1#
您可能希望指定协议(如'
tcp
'),而不是直接指定localhost
。请参见这些示例:
在您的情况下:
注意,如果使用默认协议(
tcp
)和主机(localhost:3306
),则可以将其重写为Lakshminarayanan Guptha在注解中添加:
在我的例子中,
- user:password@tcp/dbname
工作正常sulc1iza2#
我遇到了同样的问题,投票最多的答案也帮不了我,救了我的是把
(host:port)
放在引号里--〉"(host:port)"
lsmepo6l3#
当我在Linux VM上运行Docker容器时,我也遇到过类似的问题。在我的应用程序(
server.go
)中,我更改了localhost值以使用我的虚拟机的IP,然后成功地构建和运行了容器。