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中的方法与接收器

分享5种文件变更时自动重载Go程序的方法

windows下如何玩转火热的Go-zero

Go - struct{} 实现 interface{}

Golang读写文件的几种方法

手撸 ssh key管理器

Golang和Go是一样的吗

ssh连接服务器后执行多条命令

多协程通道的应用---三协程通过通道实现abc按顺序输出100次

30 Golang文件、目录操作

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




打赏

取消

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

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

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

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

评论

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