~ruther/guix-local

4b41febf9c73d9d933b4873edadf9693ae4d5bb3 — Christopher Baines 9 years ago 3f1b4bc
services: mysql: Add port to configuration

* gnu/services/databases.scm (<mysql-configuration>): Add port field.
(mysql-configuration-file): Use the port field when creating the
configuration file.
* doc/guix.texi (Database Services): Document it.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2 files changed, 8 insertions(+), 3 deletions(-)

M doc/guix.texi
M gnu/services/databases.scm
M doc/guix.texi => doc/guix.texi +3 -0
@@ 10177,6 10177,9 @@ or @var{mysql}.

For MySQL, a temporary root password will be displayed at activation time.
For MariaDB, the root password is empty.

@item @code{port} (default: @code{3306})
TCP port on which the database server listens for incoming connections.
@end table
@end deftp


M gnu/services/databases.scm => gnu/services/databases.scm +5 -3
@@ 160,7 160,8 @@ and stores the database cluster in @var{data-directory}."
(define-record-type* <mysql-configuration>
  mysql-configuration make-mysql-configuration
  mysql-configuration?
  (mysql mysql-configuration-mysql (default mariadb)))
  (mysql mysql-configuration-mysql (default mariadb))
  (port mysql-configuration-port (default 3306)))

(define %mysql-accounts
  (list (user-group


@@ 175,10 176,11 @@ and stores the database cluster in @var{data-directory}."

(define mysql-configuration-file
  (match-lambda
    (($ <mysql-configuration> mysql)
     (plain-file "my.cnf" "[mysqld]
    (($ <mysql-configuration> mysql port)
     (mixed-text-file "my.cnf" "[mysqld]
datadir=/var/lib/mysql
socket=/run/mysqld/mysqld.sock
port=" (number->string port) "
"))))

(define (%mysql-activation config)