Add socket support for mysql data source

This commit is contained in:
Yuan Liu 2018-10-17 17:45:06 +08:00 committed by GitHub
parent 76fc48e2eb
commit 36dbc5f51c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -5,6 +5,7 @@ import (
"fmt"
"reflect"
"strconv"
"strings"
"github.com/go-sql-driver/mysql"
"github.com/go-xorm/core"
@ -20,10 +21,16 @@ func init() {
func newMysqlQueryEndpoint(datasource *models.DataSource) (tsdb.TsdbQueryEndpoint, error) {
logger := log.New("tsdb.mysql")
var protocol string
if strings.HasPrefix(datasource.Url, "/") {
protocol = "unix"
} else {
protocol = "tcp"
}
cnnstr := fmt.Sprintf("%s:%s@%s(%s)/%s?collation=utf8mb4_unicode_ci&parseTime=true&loc=UTC&allowNativePasswords=true",
datasource.User,
datasource.Password,
"tcp",
protocol,
datasource.Url,
datasource.Database,
)