使用mysqldriver连接数据库时出错

use*_*985 36 mysql go

我正在尝试按照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")
Run Code Online (Sandbox Code Playgroud)

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

Default addr for network ''localhost'' unknown
Run Code Online (Sandbox Code Playgroud)

为什么是这样?当我检查用户并托管mysql时,它指出'username'和'localhost'.我按照这样的参数:

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

Von*_*onC 87

您可能希望指定协议(如" tcp"),而不是localhost直接指定.
那些例子:

user:password@tcp(localhost:5555)/dbname
Run Code Online (Sandbox Code Playgroud)

在你的情况下:

username@tcp(localhost)/my_db
Run Code Online (Sandbox Code Playgroud)

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

user:password@/dbname
Run Code Online (Sandbox Code Playgroud)