- 17.4.1.1. Replication and
AUTO_INCREMENT
- 17.4.1.2. Replication and Character Sets
- 17.4.1.3. Replication of
CREATE ... IF NOT EXISTS
Statements - 17.4.1.4. Replication of
CREATE TABLE ... SELECT
Statements - 17.4.1.5. Replication of
DROP ... IF EXISTS
Statements - 17.4.1.6. Replication with Differing Table Definitions on Master and Slave
- 17.4.1.7. Replication and
DIRECTORY
Table Options - 17.4.1.8. Replication of Invoked Features
- 17.4.1.9. Replication and Floating-Point Values
- 17.4.1.10. Replication and
FLUSH
- 17.4.1.11. Replication and System Functions
- 17.4.1.12. Replication and
LIMIT
- 17.4.1.13. Replication and
LOAD DATA INFILE
- 17.4.1.14. Replication and the Slow Query Log
- 17.4.1.15. Replication and
REPAIR TABLE
- 17.4.1.16. Replication and Master or Slave Shutdowns
- 17.4.1.17. Replication and
max_allowed_packet
- 17.4.1.18. Replication and
MEMORY
Tables - 17.4.1.19. Replication and Temporary Tables
- 17.4.1.20. Replication of the
mysql
System Database - 17.4.1.21. Replication and the Query Optimizer
- 17.4.1.22. Replication and Reserved Words
- 17.4.1.23.
SET PASSWORD
and Row-Based Replication - 17.4.1.24. Slave Errors During Replication
- 17.4.1.25. Replication and Server SQL Mode
- 17.4.1.26. Replication Retries and Timeouts
- 17.4.1.27. Replication and Time Zones
- 17.4.1.28. Replication and Transactions
- 17.4.1.29. Replication and Triggers
- 17.4.1.30. Replication and Views
- 17.4.1.31. Replication and
TRUNCATE TABLE
- 17.4.1.32. Replication and Variables
The following sections provide information about what is supported and what is not in MySQL replication, and about specific issues and situations that may occur when replicating certain statements.
Statement-based replication depends on compatibility at the SQL level between the master and slave. In others, successful SBR requires that any SQL features used be supported by both the master and the slave servers. For example, if you use a feature on the master server that is available only in MySQL 5.5 (or later), you cannot replicate to a slave that uses MySQL 5.1 (or earlier).
Such incompatibilities also can occur within a release series when
using pre-production releases of MySQL. For example, the
SLEEP()
function is available
beginning with MySQL 5.0.12. If you use this function on the
master, you cannot replicate to a slave that uses MySQL 5.0.11 or
earlier.
For this reason, use Generally Available (GA) releases of MySQL for statement-based replication in a production setting, since we do not introduce new SQL statements or change their behavior within a given release series once that series reaches GA release status.
If you are planning to use statement-based replication between MySQL 5.5 and a previous MySQL release series, it is also a good idea to consult the edition of the MySQL Reference Manual corresponding to the earlier release series for information regarding the replication characteristics of that series.
With MySQL's statement-based replication, there may be issues with replicating stored routines or triggers. You can avoid these issues by using MySQL's row-based replication instead. For a detailed list of issues, see Section 19.7, “Binary Logging of Stored Programs”. For more information about row-based logging and row-based replication, see Section 5.2.4.1, “Binary Logging Formats”, and Section 17.1.2, “Replication Formats”.
For additional information specific to replication and
InnoDB
, see
Section 13.6.5.5, “InnoDB
and MySQL Replication”. For information
relating to replication with MySQL Cluster, see
MySQL Cluster Replication.