golang链接mysql

准备条件:

  1. 已安装mysql。
    mysql下载地址: mysql community donload
    安装方式: 菜鸟教程MySQL安装
  2. 安装依赖: go get -u github.com/go-sql-driver/mysql

使用并初始化连接:

导入驱动:

import (
        // 因为我们不直接使用驱动,所以在前面加上_,匿名导入
	_ "github.com/go-sql-driver/mysql"
)

全局db对象,后续操作全部都是对db对象的操作

var db *sql.DB

初始化db对象

func initMySQL() (err error) {
        // 只是一个固定格式,root是用户名,1234是密码,test是数据库名称
	dsn := "root:1234@tcp(127.0.0.1:3306)/test"
        // 连接数据库,并判断,Open第一个参数表示需要链接的数据库类型
	if db, err = sql.Open("mysql", dsn); err != nil {
		panic(err)
	}

	// 检查是否连接成功
	if err = db.Ping(); err != nil {
		fmt.Println("error!!")
		return
	}

	// 相关设置,数值需要根据业务情况而定,无特定值
	db.SetMaxOpenConns(200)                 // 最大连接数
	db.SetMaxIdleConns(10)                  // 最大空闲连接数
	db.SetConnMaxLifetime(time.Second * 10) // 存活时间

	return
}

在主函数中调用initMySQL():

func main() {
      // 调用初始化函数初始化全局db对象
	if err := initMySQL(); err != nil {
		fmt.Println("connect err!!")
		return
	}
      // 在使用完成之后关闭连接
	defer db.Close()
	fmt.Println("connect success..")
}
原文地址:https://www.cnblogs.com/ltozvxe/p/14577090.html