Add support for Unix domain sockets.

This adds a new configuration option, socket-path, instead of using
host.
This commit is contained in:
Alex Jaspersen
2020-05-17 05:00:04 +00:00
parent c0b74f298a
commit 3468a8cb8a
4 changed files with 8 additions and 1 deletions
+2
View File
@@ -665,6 +665,8 @@ datastore:
host: "localhost"
# port is unnecessary for connections via unix domain socket:
#port: 3306
# if socket-path is set, it will be used instead of host:port
#socket-path: "/var/run/mysqld/mysqld.sock"
user: "oragono"
password: "hunter2"
history-database: "oragono_history"
+1
View File
@@ -12,6 +12,7 @@ type Config struct {
Enabled bool
Host string
Port int
SocketPath string `yaml:"socket-path"`
User string
Password string
HistoryDatabase string `yaml:"history-database"`
+3 -1
View File
@@ -88,7 +88,9 @@ func (mysql *MySQL) getExpireTime() (expireTime time.Duration) {
func (m *MySQL) Open() (err error) {
var address string
if m.config.Port != 0 {
if m.config.SocketPath != "" {
address = fmt.Sprintf("unix(%s)", m.config.SocketPath)
} else if m.config.Port != 0 {
address = fmt.Sprintf("tcp(%s:%d)", m.config.Host, m.config.Port)
}
+2
View File
@@ -686,6 +686,8 @@ datastore:
host: "localhost"
# port is unnecessary for connections via unix domain socket:
#port: 3306
# if socket-path is set, it will be used instead of host:port
#socket-path: "/var/run/mysqld/mysqld.sock"
user: "oragono"
password: "hunter2"
history-database: "oragono_history"