Documentation Home
MySQL Replication
Related Documentation Download this Excerpt
PDF (US Ltr) - 1.5Mb
PDF (A4) - 1.5Mb
HTML Download (TGZ) - 467.0Kb
HTML Download (Zip) - 477.2Kb


MySQL Replication  /  Replication Notes and Tips  /  Replication Features and Issues

4.1 Replication Features and Issues

[+/-]

4.1.1 Replication and AUTO_INCREMENT
4.1.2 Replication and BLACKHOLE Tables
4.1.3 Replication and Character Sets
4.1.4 Replication and CHECKSUM TABLE
4.1.5 Replication of CREATE ... IF NOT EXISTS Statements
4.1.6 Replication of CREATE TABLE ... SELECT Statements
4.1.7 Replication of CREATE SERVER, ALTER SERVER, and DROP SERVER
4.1.8 Replication of CURRENT_USER()
4.1.9 Replication of DROP ... IF EXISTS Statements
4.1.10 Replication with Differing Table Definitions on Master and Slave
4.1.11 Replication and DIRECTORY Table Options
4.1.12 Replication and Floating-Point Values
4.1.13 Replication and Fractional Seconds Support
4.1.14 Replication and FLUSH
4.1.15 Replication and System Functions
4.1.16 Replication of Invoked Features
4.1.17 Replication and LIMIT
4.1.18 Replication and LOAD DATA INFILE
4.1.19 Replication and max_allowed_packet
4.1.20 Replication and MEMORY Tables
4.1.21 Replication of the mysql System Database
4.1.22 Replication and the Query Optimizer
4.1.23 Replication and Partitioning
4.1.24 Replication and REPAIR TABLE
4.1.25 Replication and Reserved Words
4.1.26 Replication of Server-Side Help Tables
4.1.27 Replication and Master or Slave Shutdowns
4.1.28 Slave Errors During Replication
4.1.29 Replication and Server SQL Mode
4.1.30 Replication and Temporary Tables
4.1.31 Replication Retries and Timeouts
4.1.32 Replication and Time Zones
4.1.33 Replication and Transaction Inconsistencies
4.1.34 Replication and Transactions
4.1.35 Replication and Triggers
4.1.36 Replication and TRUNCATE TABLE
4.1.37 Replication and User Name Length
4.1.38 Replication and Variables
4.1.39 Replication and Views

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.7 (or later), you cannot replicate to a slave that uses MySQL 5.6 (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.7 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 Binary Logging of Stored Programs. For more information about row-based logging and row-based replication, see Binary Logging Formats, and Section 5.1, “Replication Formats”.

For additional information specific to replication and InnoDB, see InnoDB and MySQL Replication. For information relating to replication with NDB Cluster, see NDB Cluster Replication.


User Comments
  Posted by Vasilli Stepanov on August 24, 2007
I use deleting requests from slave in one of my projects to save requests history on master. So I noticed that INSERT IGNORE query with affected rows 0 wouldn't be replicated.
So if you want to get asynchronous data on slave use INSERT ON DUPLICATE KEY UPDATE or REPLACE.
Sign Up Login You must be logged in to post a comment.