我试图按照这里的说明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"和"localhost".我遵循如下参数:

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

推荐答案

您可能希望指定协议(如"tcp"),而不是直接指定localhost

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

就你而言:

username@tcp(localhost)/my_db

注意,如果使用默认协议(tcp)和主机(localhost:3306),则可以将其重写为

user:password@/dbname

Mysql相关问答推荐

如何在MySQL中检索两列的值不同的行

如果存在N个特殊行,如何 Select 它们,其余的必须填充常规行,总行数不能超过MySQL中的X行?

如何将数据导入MySQL中的master/replica struct

是否可以使用以EXPLAIN EXTENDED ...开头的 SQL 语句修改数据?

SQL: Select TEXT 字段的子字符串比整个值快

使用 autocommit = 0 和 InnoDB 表的 LOCK TABLES 检测死锁

估计对大表进行分区所需的时间

Next-key lock explication - 范围的主键

在 MySQL 中使用非空条件 LAG() 函数

mysql insert into select join - 通过连接表将值从一列复制到另一表

在 postgresql 中实现 UML 类:创建类型与创建表

MySql - 默认情况下主键是唯一的吗?

函数 mysql_real_escape_string 的 PDO 类似功能是什么?

如何在mysql select查询中获取两个日期之间的日期列表

docker-entrypoint-initdb 中的 MySQL 脚本未执行

如何在 MySQL 上一次删除一系列记录?

更改 Laravel 的 created_at 和 updated_at 的名称

MySQL导入数据库但忽略特定表

与 MySql 的连接正在自动中止.如何正确配置Connector/J?

Mysql 错误:try 转储表空间时,指定为定义者的用户 ('mysql.infoschema'@'localhost') 不存在'