package database import ( "time" "gorm.io/driver/mysql" "gorm.io/gorm" ) func OpenMySQL(dsn string) (*gorm.DB, error) { db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{}) if err != nil { return nil, err } sqlDB, err := db.DB() if err != nil { return nil, err } // 限制连接池,避免本地压测瞬间打满 MySQL max_connections。 sqlDB.SetMaxOpenConns(50) sqlDB.SetMaxIdleConns(10) sqlDB.SetConnMaxLifetime(30 * time.Minute) sqlDB.SetConnMaxIdleTime(5 * time.Minute) return db, nil }