mysql连接池关于连接数太多导致的错误处理办法

创建连接池

import(
gorm2 "gorm.io/gorm"
)

var DeBugSqlDbv2 *sql.DB

func init()  {

    //设置空闲连接池中连接的最大数量
    maxIdleConns:=beego.AppConfig.DefaultInt("DB_MAXIDLECONNS",5)
    //设置打开数据库连接的最大数量 和你本地mysql设置的最大链接数匹配 <  本地的链接数
    maxOpenConns:=beego.AppConfig.DefaultInt("DB_MAXOPENCONNS",100)

deBugNds:=beego.AppConfig.String("DB_DEBUG_USERNAME")+":"+
        beego.AppConfig.String("DB_DEBUG_PASSWORD")+"" +
        "@tcp("+beego.AppConfig.String("DB_DEBUG_HOST")+":"+beego.AppConfig.String("DB_PORT")+")/"+beego.AppConfig.String("DB_DEBUG_DATABASE")+"?charset="+
        beego.AppConfig.String("DB_DEBUG_CHARSET")+"&parseTime=True&loc="+beego.AppConfig.String("DBTIMEZONE")
    DeBugDBv2,err =gorm2.Open(mysql.Open(deBugNds), &gorm2.Config{Logger: newDebugLogger})
    if err!=nil{
        logs.Error("DEBUG数据库连接失败v2 %s  dsn %s",err.Error(),deBugNds)
    }else{
        DeBugSqlDbv2, _ := DeBugDBv2.DB()
        DeBugSqlDbv2.SetMaxIdleConns(maxIdleConns)
        DeBugSqlDbv2.SetMaxOpenConns(maxOpenConns)
        DeBugSqlDbv2.SetConnMaxLifetime(time.Hour)
    }
}

修改mysql的最大链接数

 show variables like "%max_connections%";
set global max_connections = 1000;

你可能感兴趣的:(mysql连接池关于连接数太多导致的错误处理办法)