mysql數(shù)據(jù)庫go驅(qū)動(dòng)安裝
golang連接數(shù)據(jù)庫用戶的驅(qū)動(dòng)是:go-sql-driver
安裝方式:打開命令行,執(zhí)行g(shù)o命令:
go get -u github.com/go-sql-driver/mysql
mysql數(shù)據(jù)庫連接:
構(gòu)建連接, 格式是:”用戶名:密碼@tcp(IP:端口)/數(shù)據(jù)庫?charset=utf8”
打開數(shù)據(jù)庫,前者是驅(qū)動(dòng)名,所以要導(dǎo)入: _ “github.com/go-sql-driver/mysql”
設(shè)置數(shù)據(jù)庫最大連接數(shù)和設(shè)置上數(shù)據(jù)庫最大閑置連接數(shù)
實(shí)現(xiàn)代碼:
//數(shù)據(jù)庫配置 const ( userName = "root" password = "123456" ip = "127.0.0.1" port = "3306" dbName = "loginserver" ) //Db數(shù)據(jù)庫連接池 var DB *sql.DB //注意方法名大寫,就是public func InitDB() { //構(gòu)建連接:"用戶名:密碼@tcp(IP:端口)/數(shù)據(jù)庫?charset=utf8" path := strings.Join([]string{userName, ":", password, "@tcp(",ip, ":", port, ")/", dbName, "?charset=utf8"}, "") //打開數(shù)據(jù)庫,前者是驅(qū)動(dòng)名,所以要導(dǎo)入: _ "github.com/go-sql-driver/mysql" DB, _ = sql.Open("mysql", path) //設(shè)置數(shù)據(jù)庫最大連接數(shù) DB.SetConnMaxLifetime(100) //設(shè)置上數(shù)據(jù)庫最大閑置連接數(shù) DB.SetMaxIdleConns(10) //驗(yàn)證連接 if err := DB.Ping(); err != nil{ fmt.Println("opon database fail") return } fmt.Println("connnect success") }