List:Internals« Previous MessageNext Message »
From:sasha Date:October 26 2000 3:13pm
Subject:Re: A suggestion on Replication
View as plain text  
Christian Rabe wrote:
> 
> Hi,
> 
> 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.
> 
> Regards,
> 
> Christian "Maverick" Rabe
> IT-Development
> wallstreet:online AG
> ------------------------------------------
> http://www.wallstreet-online.de
> 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
> 
> Hi,
> 
> 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
       <___/
Thread
A suggestion on ReplicationWei He26 Oct
  • Re: A suggestion on ReplicationChristian Rabe26 Oct
    • Re: A suggestion on ReplicationThimble Smith26 Oct
    • Re: A suggestion on ReplicationWei He1 Nov
      • Re: A suggestion on ReplicationChristian Rabe1 Nov
  • Re: A suggestion on Replicationsasha26 Oct
  • Strange behavior of flush logs with the replicationChristian Rabe26 Oct
  • Re: Strange behavior of flush logs with the replicationsasha26 Oct
  • Re: Strange behavior of flush logs with the replicationChristian Rabe26 Oct
  • Re: Strange behavior of flush logs with the replicationChristian Rabe27 Oct