GO连接本地mysql执行sql查询报错 packets.go:37: unexpected EOF

1,229 阅读1分钟

###1、mysql连接代码如下

package main

import (
   "database/sql"
   "fmt"
   _ "github.com/go-sql-driver/mysql"
   "log"
)

func main() {
   db, err := sql.Open("mysql", "root:root@tcp(127.0.0.1:3306)/ydsourse")
   db.Ping()
   defer db.Close()

   if err != nil {
      fmt.Println("数据库连接失败!")
      log.Fatalln(err)
   }
   result, err2 := db.Query("SELECT * FROM user;")
   if err2 != nil {
      log.Fatalln(err2)
   }
   for result.Next() {
      var id int
      var name string
      err = result.Scan(&id, &name)
      if err != nil {
         panic(err)
      }
      fmt.Printf("ID为:%d,Name为:%s\n", id, name)
   }
}

2、异常代码

[mysql] 2022/08/16 11:01:00 packets.go:37: unexpected EOF
[mysql] 2022/08/16 11:01:00 packets.go:37: unexpected EOF
[mysql] 2022/08/16 11:01:00 packets.go:37: unexpected EOF
[mysql] 2022/08/16 11:01:00 packets.go:37: unexpected EOF
[mysql] 2022/08/16 11:01:00 packets.go:37: unexpected EOF
[mysql] 2022/08/16 11:01:00 packets.go:37: unexpected EOF

3、解决方案

将连接中的127.0.0.1改为localhost就可以正常使用了

db, err := sql.Open("mysql", "root:root@tcp(localhost:3306)/ydsourse")