mirror of
https://github.com/coaidev/coai.git
synced 2025-05-19 04:50:14 +09:00
支持MySql tls连接
This commit is contained in:
parent
269c3a23fa
commit
8b1c36b83a
@ -4,6 +4,7 @@ mysql:
|
|||||||
password: chatnio123456
|
password: chatnio123456
|
||||||
port: 3306
|
port: 3306
|
||||||
user: root
|
user: root
|
||||||
|
tls: false
|
||||||
|
|
||||||
redis:
|
redis:
|
||||||
host: localhost
|
host: localhost
|
||||||
|
@ -3,8 +3,10 @@ package connection
|
|||||||
import (
|
import (
|
||||||
"chat/globals"
|
"chat/globals"
|
||||||
"chat/utils"
|
"chat/utils"
|
||||||
|
"crypto/tls"
|
||||||
"database/sql"
|
"database/sql"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"github.com/go-sql-driver/mysql"
|
||||||
_ "github.com/go-sql-driver/mysql"
|
_ "github.com/go-sql-driver/mysql"
|
||||||
_ "github.com/mattn/go-sqlite3"
|
_ "github.com/mattn/go-sqlite3"
|
||||||
"github.com/spf13/viper"
|
"github.com/spf13/viper"
|
||||||
@ -32,15 +34,25 @@ func getConn() *sql.DB {
|
|||||||
return db
|
return db
|
||||||
}
|
}
|
||||||
|
|
||||||
// connect to MySQL
|
mysqlUrl := fmt.Sprintf(
|
||||||
db, err := sql.Open("mysql", fmt.Sprintf(
|
|
||||||
"%s:%s@tcp(%s:%d)/%s",
|
"%s:%s@tcp(%s:%d)/%s",
|
||||||
viper.GetString("mysql.user"),
|
viper.GetString("mysql.user"),
|
||||||
viper.GetString("mysql.password"),
|
viper.GetString("mysql.password"),
|
||||||
viper.GetString("mysql.host"),
|
viper.GetString("mysql.host"),
|
||||||
viper.GetInt("mysql.port"),
|
viper.GetInt("mysql.port"),
|
||||||
viper.GetString("mysql.db"),
|
viper.GetString("mysql.db"),
|
||||||
))
|
)
|
||||||
|
if viper.GetBool("mysql.tls") {
|
||||||
|
mysql.RegisterTLSConfig("tls", &tls.Config{
|
||||||
|
MinVersion: tls.VersionTLS12,
|
||||||
|
ServerName: viper.GetString("mysql.host"),
|
||||||
|
})
|
||||||
|
|
||||||
|
mysqlUrl += "?tls=tls"
|
||||||
|
}
|
||||||
|
|
||||||
|
// connect to MySQL
|
||||||
|
db, err := sql.Open("mysql", mysqlUrl)
|
||||||
|
|
||||||
if pingErr := db.Ping(); err != nil || pingErr != nil {
|
if pingErr := db.Ping(); err != nil || pingErr != nil {
|
||||||
errMsg := utils.Multi[string](err != nil, utils.GetError(err), utils.GetError(pingErr)) // err.Error() may contain nil pointer
|
errMsg := utils.Multi[string](err != nil, utils.GetError(err), utils.GetError(pingErr)) // err.Error() may contain nil pointer
|
||||||
|
Loading…
Reference in New Issue
Block a user