In this section, we discuss transaction-based replication using global transaction identifiers (GTlDs),
introduced in MySQL 5.6.5. When using GTlDs, each transaction can be identified and tracked as it
is committed on the originating server and applied by any slaves; this means that it is not necessary
when using GTlDs to refer to log files or positions within those files when starting a new slave or
failing over to a new master, which greatly simplifies these tasks. Because GTID-based replication is
completely transaction-based, it is simple to determine whether masters and slaves are consistent; as
long as all transactions committed on a master are also committed on a slave, consistency between
the two is guaranteed. You can use either statement-based or row-based replication with GTlDs (see
Section 16.1.2, "Replication Formats’’); however, for best results, we recommend that
you use the rowbased
format.
The next fewsections discuss the following topics:
• How GTlDs are defined and created, and howthey are represented in the MySQL Server (see
Section 16.1.3.1, “GTID Concepts").
• A generał procedurę for setting up and starting GTID-based replication (see Section
16.1.3.2,
"Setting Up Replication Using GTlDs").
• Suggested methodsfor provisioning new replication servers when using GTlDs (see
Section 16.1.3.3, “Using GTlDs for Failover and Scaleout").
• Restrictions and limitations that you should be aware of when using GTID-based replication (see
Section 16.1.3.4, "Restrictions on Replication with GTlDs").
For information about MySQL Server options and variables relating to GTID-based replication, see
Section 16.1.4.5, "Global Transaction ID Options and Variables". See also Section 12.15, "GTID
Functions", which describes SQL functions supported by MySQL 5.6 for use with GTlDs.