记录golang初始化mysql连接失败问题

package mysql

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

var (
    db  *sql.DB
    err error
)

func init() {

    db, err = sql.Open("mysql", "root:123456@tcp(127.0.0.1:3306)/database?charset=utf8")
    if err != nil {
        panic(err.Error())
    } 

    db.SetMaxOpenConns(1000)

    err = db.Ping()
    if err != nil {
        fmt.Println("Failed to connect to mysql, err:" + err.Error())
        panic(err.Error())
    }
}

func DBConn() *sql.DB {
    return db
}

最初写成

db, err := sql.Open("mysql", "root:123456@tcp(127.0.0.1:3306)/database?charset=utf8")

调用DBConn(),拿到的一直是nil,后续排查的时候发现的,初始化中的写法错误导致db未能获取有效的初始化值

你可能感兴趣的:(记录golang初始化mysql连接失败问题)