43 lines
795 B
Go
43 lines
795 B
Go
package db_mysql
|
|
|
|
import (
|
|
"fmt"
|
|
"github.com/tiger1103/gfast/v3/database"
|
|
"gorm.io/driver/mysql"
|
|
"gorm.io/gorm"
|
|
"time"
|
|
)
|
|
|
|
var (
|
|
HOST = "" //主机
|
|
PORT = "" //端口
|
|
USERNAME = "" //用户名
|
|
PASSWORD = "" //密码
|
|
DBNAME = "" //数据库
|
|
)
|
|
|
|
func InitMySQL() {
|
|
connectDB(getMysqlAddr())
|
|
}
|
|
|
|
/*获取MySQL连接地址*/
|
|
func getMysqlAddr() string {
|
|
return USERNAME + ":" + PASSWORD + "@tcp(" + HOST + ":" + PORT + ")/" + DBNAME + "?charset=utf8&parseTime=True&loc=Local"
|
|
}
|
|
|
|
func connectDB(path string) {
|
|
db, err := gorm.Open(mysql.Open(path), &gorm.Config{})
|
|
if err != nil {
|
|
fmt.Println(err)
|
|
return
|
|
}
|
|
d, err := db.DB()
|
|
if err != nil {
|
|
return
|
|
}
|
|
d.SetMaxIdleConns(10)
|
|
//d.SetMaxOpenConns()
|
|
d.SetConnMaxLifetime(time.Second * 60)
|
|
database.SetORMDBInstance(db)
|
|
}
|