为了账号安全,请及时绑定邮箱和手机立即绑定

使用 go 连接到 mysql 数据库

使用 go 连接到 mysql 数据库

Go
慕姐4208626 2021-06-09 02:27:24
我正在尝试与我的 mysql 服务器建立基本连接,但我似乎无法让它实际连接。我知道凭证是有效的并且拥有他们需要的所有权限,但由于某种原因,他们一直被拒绝。package mainimport (    "fmt"    "database/sql"    _ "github.com/go-sql-driver/mysql"    "os")func main() {    db, err:= sql.Open("mysql", "user:pass@tcp(localhost:3306)/scf")    if err != nil {        fmt.Println(err)        os.Exit(1)    }    q, err := db.Prepare("SELECT * from logins limit 5")    if err != nil {        fmt.Println(err)        os.Exit(1)    }    rows, err := q.Query()    if err != nil {        fmt.Println(err)        os.Exit(1)    }    i := 0    for rows.Next() {        i++        var title string        err = rows.Scan( &title )        fmt.Printf("Title: %s \n", title)    }    db.Close()}编辑:显然我忘了包括错误:dial tcp 127.0.0.1:3306: connection refusedexit status 1
查看完整描述

2 回答

?
MYYA

TA贡献1868条经验 获得超4个赞

connection refused通常意味着该端口未打开或被防火墙阻止。需要检查的几件事:

  • MySQL(在本地主机上)正在运行吗?它在端口 3306 上吗?

  • 如果您使用的是 Windows、Mac 或 Linux,是否有可能阻止端口 3306 的防火墙?

  • 如果您使用的是 Linux,是否启用了可能会阻塞端口 3306 的 SELinux?


查看完整回答
反对 回复 2021-06-28
?
FFIVE

TA贡献1797条经验 获得超6个赞

我遇到了类似的问题。我发现 Mac 上的端口不同。我找不到它,my.cnf但是在运行时设置了端口,您可以使用它看到

ps ax | grep mysql


查看完整回答
反对 回复 2021-06-28
  • 2 回答
  • 0 关注
  • 230 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信