diff --git a/doc/guix.texi b/doc/guix.texi index 0cb1bc76657d000fbc8f1e503c3821f8f80ff1fe..f1c5963f7610fc0325241567bfba73f8f20def80 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 1eed85542b0223a6000dffe30a79697f47895d49..f7e08e6967744b0c47f05b93e83ccde503a3a7da 100644 --- a/gnu/services/databases.scm +++ b/gnu/services/databases.scm @@ -160,7 +160,8 @@ (define* (postgresql-service #:key (postgresql postgresql) (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 @@ (define %mysql-accounts (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)