16.4.1 Replication Features and Issues

16.4.1.1 Replication and AUTO_INCREMENT
16.4.1.2 Replication and Character Sets
16.4.1.3 Replication of CREATE TABLE ... SELECT Statements
16.4.1.4 Replication of DROP ... IF EXISTS Statements
16.4.1.5 Replication and DIRECTORY Table Options
16.4.1.6 Replication and Floating-Point Values
16.4.1.7 Replication and FLUSH
16.4.1.8 Replication and System Functions
16.4.1.9 Replication and LIMIT
16.4.1.10 Replication and LOAD Operations
16.4.1.11 Replication and the Slow Query Log
16.4.1.12 Replication and REPAIR TABLE
16.4.1.13 Replication and Master or Slave Shutdowns
16.4.1.14 Replication and MEMORY Tables
16.4.1.15 Replication and Temporary Tables
16.4.1.16 Replication of the mysql System Database
16.4.1.17 Replication and User Privileges
16.4.1.18 Replication and the Query Optimizer
16.4.1.19 Replication and Reserved Words
16.4.1.20 Slave Errors During Replication
16.4.1.21 Replication and Server SQL Mode
16.4.1.22 Replication Retries and Timeouts
16.4.1.23 Replication and TIMESTAMP
16.4.1.24 Replication and Time Zones
16.4.1.25 Replication and Transactions
16.4.1.26 Replication and Triggers
16.4.1.27 Replication and Views
16.4.1.28 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.0 (or later), you cannot replicate to a slave that uses MySQL 4.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 replication between MySQL 5.0 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.

For additional information specific to replication and InnoDB, see Section 14.2.3.5, “InnoDB and MySQL Replication”.