diff --git a/nixos/modules/services/databases/mysql.nix b/nixos/modules/services/databases/mysql.nix index 4b2e83e71e20..7fcc423b4c91 100644 --- a/nixos/modules/services/databases/mysql.nix +++ b/nixos/modules/services/databases/mysql.nix @@ -337,6 +337,12 @@ in environment.etc."my.cnf".source = cfg.configFile; + # The mysql_install_db binary will try to adjust the permissions, but fail to do so with a permission + # denied error in some circumstances. Setting the permissions manually with tmpfiles is a workaround. + systemd.tmpfiles.rules = [ + "d ${cfg.dataDir} 0755 ${cfg.user} ${cfg.group} - -" + ]; + systemd.services.mysql = { description = "MySQL Server";