Oracle 5.0 Reference Manual page 1525

Table of Contents

Advertisement

• Use one or more
objects where these names would be considered reserved words on the slave, and change any SQL
statements that use the old names to use the new names instead.
• In any SQL statements using these database object names, write the names as quoted identifiers
using backtick characters (`).
For listings of reserved words by MySQL version, see
Reference. For identifier quoting rules, see
16.4.1.20. Slave Errors During Replication
If a statement produces the same error (identical error code) on both the master and the slave, the
error is logged, but replication continues.
If a statement produces different errors on the master and the slave, the slave SQL thread terminates,
and the slave writes a message to its error log and waits for the database administrator to decide what
to do about the error. This includes the case that a statement produces an error on the master or the
slave, but not both. To address the issue, connect to the slave manually and determine the cause of
the problem.
example, you might need to create a nonexistent table before you can start the slave again.
If this error code validation behavior is not desirable, some or all errors can be masked out (ignored)
with the
--slave-skip-errors
For nontransactional storage engines such as MyISAM, it is possible to have a statement that only
partially updates a table and returns an error code. This can happen, for example, on a multiple-row
insert that has one row violating a key constraint, or if a long update statement is killed after updating
some of the rows. If that happens on the master, the slave expects execution of the statement to result
in the same error code. If it does not, the slave SQL thread stops as described previously.
If you are replicating between tables that use different storage engines on the master and slave, keep
in mind that the same statement might produce a different error when run against one version of the
table, but not the other, or might cause an error for one version of the table, but not the other. For
example, since
an
InnoDB
on a
MyISAM
to stop.
16.4.1.21. Replication and Server SQL Mode
Using different server SQL mode settings on the master and the slave may cause the same
statements to be handled differently on the master and the slave, leading the master and slave to
diverge. For best results, you should always use the same server SQL mode on the master and on the
slave.
For more information, see
16.4.1.22. Replication Retries and Timeouts
In MySQL 5.0 (starting from 5.0.3), there is a global system variable
slave_transaction_retries
execute a transaction because of an
the
InnoDB innodb_lock_wait_timeout
TransactionDeadlockDetectionTimeout
automatically retries the transaction
with an error. The default value is 10. Starting from MySQL 5.0.4, the total retry count can be seen in
the output of
16.4.1.23. Replication and
Replication Features and Issues
ALTER TABLE
SHOW SLAVE STATUS
ignores foreign key constraints, an
MyISAM
table on the master might cause a foreign key violation but the same statement performed
version of the same table on the slave would produce no such error, causing replication
Section 5.1.7, "Server SQL
STATUS; see
Section 5.1.6, "Server Status
SHOW
TIMESTAMP
statements on the master to change the names of any database
Reserved
Section 9.2, "Schema Object
is useful for this. Then fix the problem and run
[1463]
option.
Modes".
[1466]: If the slave SQL thread fails to
deadlock or because it exceeded
InnoDB
[1244]
or the NDBCLUSTER
or
TransactionInactiveTimeout
slave_transaction_retries
1505
Words, in the MySQL Server Version
Names".
or
statement accessing
INSERT
UPDATE
[1466]
times before stopping
Variables".
SLAVE. For
START
INSERT
value, the slave

Advertisement

Table of Contents
loading

This manual is also suitable for:

Mysql 5.0

Table of Contents