使用 shell 中的 go 工具将软件包安装到自己的GOPATH:

PATH

Go MySQL Driver是Go接口的实现。只需要导入驱动程序,然后就可以使用完整的数据库 API。

 

最完整的DSN:

username:password@protocol(address)/dbname?param=valueq

其中密码可以包含任何字符,无需转义。

除数据库名称外,所有值都是可选的。因此,最小DSN是:

/dbname
dbname
/

这与空 DSN 字符串具有相同的效果

trueTRUETrue1falseFALSEFalse0

代码示例: 

方法介绍:

是确保在MySQL服务器,操作系统或其他中间件关闭连接之前,驱动程序安全地关闭连接所必需的。由于某些中间件将空闲连接关闭 5 分钟,因此我们建议将超时时间短于 5 分钟。此设置还有助于负载平衡和更改系统变量。

强烈建议限制应用程序使用的连接数。没有建议的限制数量,因为它取决于应用程序和MySQL服务器。

建议设置为 相同(或大于)。当它小于 时,可以比您预期的非常频繁地打开和关闭连接。空闲连接可以通过 关闭。

db.Ping()

是进行连接。

package main

import (
	"database/sql"
	"fmt"
	_ "github.com/go-sql-driver/mysql"
)
//定义一个全局对象db
var  db  *sql.DB

func initDB() (err error) {
	dsn:="root:123456@tcp(127.0.0.1:3306)/go?charset=utf8mb4&parseTime=True"
	//注意这里不能用:=,我们是给全局变量赋值,然后在main函数中使用全局变量db
	db,err=sql.Open("mysql",dsn)
	if err!=nil {
		return err
	}
	//尝试与数据库建立链接(校验dsn是否正确)
	err=db.Ping()
	if err!=nil {
		return err
	}
	return nil
}
func main()  {
	fmt.Println("hellp")
	
	err := initDB()
	if err!=nil {
		fmt.Println(err)
	}else {
		fmt.Println("连接成功!")
	}
}