3
0
mirror of https://github.com/ergochat/ergo.git synced 2024-11-22 11:59:40 +01:00

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

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"

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"`

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)
}

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"