diff --git a/doc/guix.texi b/doc/guix.texi index 0cb1bc7665..f1c5963f76 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -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 diff --git a/gnu/services/databases.scm b/gnu/services/databases.scm index 1eed85542b..f7e08e6967 100644 --- a/gnu/services/databases.scm +++ b/gnu/services/databases.scm @@ -160,7 +160,8 @@ and stores the database cluster in @var{data-directory}." (define-record-type* 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) - (plain-file "my.cnf" "[mysqld] + (($ 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)