anchor.diff:      (mkRemovedOptionModule [ "services" "mysql" "pidDir" ] "Don't wait for pidfiles, describe dependencies through systemd.")
       (mkRemovedOptionModule [ "services" "mysql" "rootPassword" ] "Use socket authentication or set the password outside of the nix store.")
       (mkRemovedOptionModule [ "services" "mysql" "extraOptions" ] "Use services.mysql.settings.mysqld instead.")
  +    (mkRemovedOptionModule [ "services" "mysql" "bind" ] "Use services.mysql.settings.mysqld.bind-address instead.")
  +    (mkRemovedOptionModule [ "services" "mysql" "port" ] "Use services.mysql.settings.mysqld.port instead.")
     ];
   
     ###### interface
  
positive.code:     services.mysql.settings.mysqld = mkMerge [
        {
          datadir = cfg.dataDir;
          bind-address = mkIf (cfg.bind != null) cfg.bind;
          port = cfg.port;
        }
        (mkIf (cfg.replication.role == "master" || cfg.replication.role == "slave") {
          log-bin = "mysql-bin-${toString cfg.replication.serverId}";
  
negative.code:         description = "
            Which MySQL derivation to use. MariaDB packages are supported too.
          ";
        };
  
        user = mkOption {
  