golang中mysql建立连接超时时间timeout


本文摘自网络,作者hikerwu,侵删。

本质上是dsn支持超时设置,不需要golang支持。

代码

// simple.go

package main

import (
        "database/sql"
        "log"
        "time"

        _ "github.com/go-sql-driver/mysql"
)

var DB *sql.DB
var dataBase = "root:Aa123456@tcp(192.168.0.101:3306)/?timeout=5s&readTimeout=6s"

func mysqlInit() {
        var err error
        DB, err = sql.Open("mysql", dataBase)
        if err != nil {
                log.Fatalln("open db fail:", err)
        }

        DB.SetMaxOpenConns(3)
        DB.SetMaxIdleConns(3)
}

func main() {
        mysqlInit()

        for {
                log.Println("start")
                execSql()
                time.Sleep(3*time.Second)
        }
}

func execSql() {
        var value int
        err := DB.QueryRow("select 1").Scan(&value)
        if err != nil {
                log.Println("query failed:", err)
                return
        }

        log.Println("value:", value)
}


相关阅读 >>

Go语言中container容器数据结构heap、list、ring

Golang与java语法上的区别

Golang zip中文乱码怎么解决

性能优化+架构迭代升级 Go读书社区web开发与架构优化

Golang 创建型设计模式 建造者模式

详解Golang中方法的receiver为指针和不为指针的区别

Go reflect

聊聊dapr的consistent hash

Golang一行代码把array/slice转成逗号分隔的字符串

Gox语言中的全局变量与局部变量-gx52

更多相关阅读请进入《Go》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...