summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--doc/guix.texi3
-rw-r--r--gnu/services/databases.scm7
2 files changed, 9 insertions, 1 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index 038d321462..dbea5cadcb 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -19919,6 +19919,9 @@ Socket file to use for local (non-network) connections.
 @item @code{extra-content} (default: @code{""})
 Additional settings for the @file{my.cnf} configuration file.
 
+@item @code{extra-environment} (default: @code{#~'()})
+List of environment variables passed to the @command{mysqld} process.
+
 @item @code{auto-upgrade?} (default: @code{#t})
 Whether to automatically run @command{mysql_upgrade} after starting the
 service.  This is necessary to upgrade the @dfn{system schema} after
diff --git a/gnu/services/databases.scm b/gnu/services/databases.scm
index 4a6d36b50b..eba88cdb68 100644
--- a/gnu/services/databases.scm
+++ b/gnu/services/databases.scm
@@ -7,6 +7,7 @@
 ;;; Copyright © 2018 Julien Lepiller <julien@lepiller.eu>
 ;;; Copyright © 2019 Robert Vollmert <rob@vllmrt.net>
 ;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
+;;; Copyright © 2021 David Larsson <david.larsson@selfhosted.xyz>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -527,6 +528,7 @@ created after the PostgreSQL database is started.")))
   (port mysql-configuration-port (default 3306))
   (socket mysql-configuration-socket (default "/run/mysqld/mysqld.sock"))
   (extra-content mysql-configuration-extra-content (default ""))
+  (extra-environment mysql-configuration-extra-environment (default #~'()))
   (auto-upgrade? mysql-configuration-auto-upgrade? (default #t)))
 
 (define %mysql-accounts
@@ -611,11 +613,14 @@ FLUSH PRIVILEGES;
          (provision '(mysql))
          (documentation "Run the MySQL server.")
          (start (let ((mysql  (mysql-configuration-mysql config))
+                      (extra-env (mysql-configuration-extra-environment config))
                       (my.cnf (mysql-configuration-file config)))
                   #~(make-forkexec-constructor
                      (list (string-append #$mysql "/bin/mysqld")
                            (string-append "--defaults-file=" #$my.cnf))
-                     #:user "mysql" #:group "mysql")))
+                           #:user "mysql" #:group "mysql"
+                           #:log-file "/var/log/mysqld.log"
+                           #:environment-variables #$extra-env)))
          (stop #~(make-kill-destructor)))))
 
 (define (mysql-upgrade-wrapper mysql socket-file)