anchor.diff:          description = "
             Which MySQL derivation to use. MariaDB packages are supported too.
           ";
  -      };
  -
  -      bind = mkOption {
  -        type = types.nullOr types.str;
  -        default = null;
  -        example = "0.0.0.0";
  -        description = "Address to bind to. The default is to bind to all addresses.";
  -      };
  -
  -      port = mkOption {
  -        type = types.port;
  -        default = 3306;
  -        description = "Port of MySQL.";
         };
   
         user = mkOption {
  
positive.code:     (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.")
    ];
  
    ###### interface
  
negative.code:     services.mysql.settings.mysqld = mkMerge [
        {
          datadir = cfg.dataDir;
          port = mkDefault 3306;
        }
        (mkIf (cfg.replication.role == "master" || cfg.replication.role == "slave") {
          log-bin = "mysql-bin-${toString cfg.replication.serverId}";
  