The above example illustrates how to start the mysqlrplsync utility to check if all data on the specified replication topology is synchronized.
To do this, we simply need to specify the master's connection
and the list of slaves with the
--slaves option. As an
alternative to the
--slaves option, one can
specifying a user and password (or login-path) to connect to
the slaves and the utility will attempt to discover all the
slaves connected with the master using the specified login.
For example, '--discover-slaves-login=root:secret' is used to
discover all of the slaves and login to each using the 'root'
user id and the password 'secret'.
can be very handy especially if there is a huge number of
slaves in the topology, but bear in mind that the explicit
specification of slaves is safer and that discovery can fail
to find some servers. In particular, it is important to note
that in order for slaves to be discovered, they must be
started with the '--report-host' and '--report-port' options
with appropriate values and they must be correctly connected
to the master (IO thread running) otherwise discovery may fail
to identify the slave.
In the above example, no data consistency issues were found. In case any data difference are found, each is clearly identified by the '[DIFF]' prefix followed by concise information of where and what is the difference. Additionally, at the end the utility displays a summary of the number of issues found.
The utility also allows users to check slaves without specifying the master. However, be advised that only checking the slaves will not guarantee that there is no data consistency issue between the master and the slaves. Also keep in mind that the results provided by the utility are valid at the time the checks are actually performed for each table. This is because in an active system with data continuously changing, inconstancy issues might be introduced in the immediate instance after the check is completed.