使用 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("连接成功!")
}
}