[+/-]
AUTO_INCREMENT
CREATE ... IF NOT EXISTS
StatementsCREATE
TABLE ... SELECT
StatementsDIRECTORY
Table OptionsDROP ... IF EXISTS
StatementsFLUSH
LIMIT
LOAD DATA
MEMORY
Tablesmysql
DatabaseTRUNCATE
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.1 (or later), you cannot replicate to a slave that uses MySQL 5.0 (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.1 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 classic 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 18.6, “Binary Logging of Stored Programs”. For more information about row-based replication and row-based logging, see Section 16.1.2, “Replication Formats”, and Section 5.2.4.1, “Binary Logging Formats”.
For additional information specific to replication and
InnoDB
, see
Section 13.6.4.5, “InnoDB
and MySQL Replication”. For information
relating to replication with MySQL Cluster, see
MySQL Cluster Replication.
User Comments
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.
Add your own comment.