Another common mistake is to have binlog/replication-do/ignore filtering in
my.cnf, then do this:
INSERT INTO non_repl_db.tbl ...;
The INSERT may not be replicated -- because the filtering uses the USE, not
the actual db specified.
> From: Tyler Poland <tpoland@stripped>
> Date: Fri, 29 Jan 2010 08:15:07 -0500
> To: Alper Oguz <alper2@stripped>
> Cc: <replication@stripped>
> Subject: Re: Send binlogs immediately?
> It probably isn't the transfer of the binary logs that is causing the
> problem. Most likely you are running some statement that is
> non-deterministic (returns a different result on the replica then it
> does on the master). Some examples of this type of statement include
> the following:
> insert into [table] select ... (no order by)
> update [table] set ... where ... (no order by) limit X
> delete from [table] where ... (no order by) limit X
> It can be a pain to find the cause but your best bet is to examine your
> binary logs using mysqlbinlog. I usually start by searching for all the
> rows that change the table and then look for one of the patterns above.
> If you haven't already you might take a look at the Maatkit tools for
> getting your database back into sync http://www.maatkit.org/tools.html.
> Good Luck,
> On 1/29/10 3:23 AM, Alper Oguz wrote:
>> Is there any way to send all binlogs to the slave with a command? I
>> need this, because I'm using two servers with Heartbeat and if I up to
>> second server (IP alias, Apache, Tomcat etc.), I find some missing
>> rows on the slave and this giving error (duplicate) on auto increment
>> columns. Also it's produce a data inconsistency of course...
>> If I can send the all binlogs on master before running the java app.
>> server on the slave, it'll be great.
>> thank you
> *Tyler Poland*