Skip to content

Commit 311624b

Browse files
committed
Merge pull request grafana#3598 from eddawley/ISSUE-2818
Fixes grafana#2818. Adds support for mysql backends via unix sockets
2 parents 69eb62c + ec36e28 commit 311624b

File tree

2 files changed

+10
-3
lines changed

2 files changed

+10
-3
lines changed

conf/defaults.ini

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,9 @@ provider = file
7979
# file: session dir path, is relative to grafana data_path
8080
# redis: config like redis server e.g. `addr=127.0.0.1:6379,pool_size=100,db=grafana`
8181
# postgres: user=a password=b host=localhost port=5432 dbname=c sslmode=disable
82-
# mysql: go-sql-driver/mysql dsn config string, e.g. `user:password@tcp(127.0.0.1:3306)/database_name`
82+
# mysql: go-sql-driver/mysql dsn config string, examples:
83+
# `user:password@tcp(127.0.0.1:3306)/database_name`
84+
# `user:password@unix(/var/run/mysqld/mysqld.sock)/database_name`
8385
# memcache: 127.0.0.1:11211
8486

8587

pkg/services/sqlstore/sqlstore.go

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -113,8 +113,13 @@ func getEngine() (*xorm.Engine, error) {
113113
cnnstr := ""
114114
switch DbCfg.Type {
115115
case "mysql":
116-
cnnstr = fmt.Sprintf("%s:%s@tcp(%s)/%s?charset=utf8",
117-
DbCfg.User, DbCfg.Pwd, DbCfg.Host, DbCfg.Name)
116+
protocol := "tcp"
117+
if strings.HasPrefix(DbCfg.Host, "/") {
118+
protocol = "unix"
119+
}
120+
121+
cnnstr = fmt.Sprintf("%s:%s@%s(%s)/%s?charset=utf8",
122+
DbCfg.User, DbCfg.Pwd, protocol, DbCfg.Host, DbCfg.Name)
118123
case "postgres":
119124
var host, port = "127.0.0.1", "5432"
120125
fields := strings.Split(DbCfg.Host, ":")

0 commit comments

Comments
 (0)