summary refs log tree commit diff
diff options
context:
space:
mode:
authorMarius Bakke <marius@gnu.org>2020-11-28 16:31:41 +0100
committerMarius Bakke <marius@gnu.org>2020-11-28 19:51:40 +0100
commit927bf98e0e35cbd6d3c8416742f695def8faf90b (patch)
tree0011f1247f6640239db3f6bd8eaf430593bd7aab
parent27d7cdbf87e7a4520f93ee3914139215abf94e68 (diff)
downloadguix-927bf98e0e35cbd6d3c8416742f695def8faf90b.tar.gz
services: MySQL: Make the socket configurable.
* gnu/services/databases.scm (<mysql-configuration>): Add SOCKET field.
(mysql-configuration-file): Adjust accordingly.
* doc/guix.texi (Database Services): Likewise.
-rw-r--r--doc/guix.texi3
-rw-r--r--gnu/services/databases.scm5
2 files changed, 6 insertions, 2 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index ae43fb6965..bef42e160a 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -19145,6 +19145,9 @@ to bind to all available network interfaces.
 @item @code{port} (default: @code{3306})
 TCP port on which the database server listens for incoming connections.
 
+@item @code{socket} (default: @code{"/run/mysqld/mysqld.sock"})
+Socket file to use for local (non-network) connections.
+
 @item @code{extra-content} (default: @code{""})
 Additional settings for the @file{my.cnf} configuration file.
 
diff --git a/gnu/services/databases.scm b/gnu/services/databases.scm
index 8fd87a563d..5a88b70d74 100644
--- a/gnu/services/databases.scm
+++ b/gnu/services/databases.scm
@@ -467,6 +467,7 @@ storage:
   (mysql mysql-configuration-mysql (default mariadb))
   (bind-address mysql-configuration-bind-address (default "127.0.0.1"))
   (port mysql-configuration-port (default 3306))
+  (socket mysql-configuration-socket (default "/run/mysqld/mysqld.sock"))
   (extra-content mysql-configuration-extra-content (default "")))
 
 (define %mysql-accounts
@@ -482,10 +483,10 @@ storage:
 
 (define mysql-configuration-file
   (match-lambda
-    (($ <mysql-configuration> mysql bind-address port extra-content)
+    (($ <mysql-configuration> mysql bind-address port socket extra-content)
      (mixed-text-file "my.cnf" "[mysqld]
 datadir=/var/lib/mysql
-socket=/run/mysqld/mysqld.sock
+socket=" socket "
 bind-address=" bind-address "
 port=" (number->string port) "
 " extra-content "