Christian Rabe wrote:
> To 1: To accomplish this, you have to disable the lines 926-933 in the
> sql/slave.cc (3.23.26)
> To 2: This is already the case. Only successful master-querys are logged.
> There are 3 cases, so far I know, when the
> slave gets a query to break on.
> First: there are Tables on the master that are not on the slave and
> you write to them.
> Second: You use temporary tables,which are not temporary on the
> slave and therefore not deletet afterward.
> So the Slave breaks the moment you try to recreate it on the master.
> In this two cases the command "SET SQL_LOG_BIN = 0" can help you,
> which switches the logging off.
> Third: You make a flush slave without a former flush master. The
> slave reads
> then all existing logfiles anew which can lead to problems with
> duplicate entries on the slave and BANG!
> I too had to use the dirty way of disabling the error with the drawback that
> when there really is an error you won't notice it.
> Christian "Maverick" Rabe
> wallstreet:online AG
> Tel.: 03 37 01 5 29 16
> Fax.: 03 37 01 5 29 19
> ----- Original Message -----
> From: Wei He
> To: internals@stripped
> Sent: Thursday, October 26, 2000 4:45 AM
> Subject: A suggestion on Replication
> According to my experience, the replication will be broken when the slave
> executes a error sql command. Can this be changed to:
> 1. The slave ignores the error and continues the replication;
> 2. The master only bin-logs sql commands that succeed.
> Wei He
Hacking mysqld to disable replication interruption on error is very much
discouraged. If your clienst are properly coded, all queries that get logged on
the master will succeed on the slave. If they don't, this means that the data is
already out of sync , and to continue replication will only make things worse.
As Christian has noted, one should disable the logging of CREATE TEMPORARY TABLE
because it does not get replicated properly.
MySQL Development Team
__ ___ ___ ____ __
/ |/ /_ __/ __/ __ \/ / Sasha Pachev <sasha@stripped>
/ /|_/ / // /\ \/ /_/ / /__ MySQL AB, http://www.mysql.com/
/_/ /_/\_, /___/\___\_\___/ Provo, Utah, USA