To configure a source to use binary log file position based replication, you must ensure that binary logging is enabled, and establish a unique server ID.
        Each server within a replication topology must be configured
        with a unique server ID, which you can specify using the
        server_id system variable. This
        server ID is used to identify individual servers within the
        replication topology, and must be a positive integer between 1
        and (232)−1. The default
        server_id value is 1; you can
        change this at runtime by issuing a statement like this one:
      
SET GLOBAL server_id = 2;Organization and selection of the server IDs is arbitrary, as long as each server ID is different from every other server ID in use by any other server in the replication topology. Note that if a value of 0 was set previously for the server ID, you must restart the server to initialize the source with your new nonzero server ID. Otherwise, a server restart is not needed when you change the server ID, unless you make other configuration changes that require it.
        Binary logging is required on the source because the binary log
        is the basis for replicating changes from the source to its
        replicas. Binary logging is enabled by default (the
        log_bin system variable is set
        to ON). The --log-bin option
        tells the server what base name to use for binary log files. It
        is recommended that you specify this option to give the binary
        log files a non-default base name, so that if the host name
        changes, you can easily continue to use the same binary log file
        names (see Section B.3.7, “Known Issues in MySQL”). If binary logging
        was previously disabled on the source using the
        --skip-log-bin
        option, you must restart the server without this option to
        enable it.
The following options also have an impact on the source:
- For the greatest possible durability and consistency in a replication setup using - InnoDBwith transactions, you should use- innodb_flush_log_at_trx_commit=1and- sync_binlog=1in the source's- my.cnffile.
- Ensure that the - skip_networkingsystem variable is not enabled on the source. If networking has been disabled, the replica cannot communicate with the source and replication fails.