Leonardus Setiabudi <[EMAIL PROTECTED]> wrote on 04/07/2006 05:33:50 
AM:

> Hi All,
> 
> I have a problem with my multi master replication plan.
> I have set my server (linux) to run 4 instance of mysqld, each with a 
> different port, socket, tmpdir, log file, relay log file, master info 
> and relay info.
> 
> the illustration as follow :
> 
> Server 1 (non slave)
> --------
> db1
> db2
> db3
> db4
> 
> Server 2 (slave from other machine)
> --------
> db2
> 
> Server 3 (slave from other machine)
> --------
> db3
> 
> Server 4 (slave from other machine)
> --------
> db4
> 
> each slave run well and replicate successfully
> but the problem is, Server 1 unable to see the update from the other 
> slave server, although i can see the update from each originating slave 
> server.
> 
> Is this a problem with mysql (locking issue?), or file system issue?
> I am using mysql 4.1.11 on mandrake linux, with ext3 fs and all the 
> tables were MYISAM
> 
> Server 1 was supposed to be somekind of data warehouse, to provide data 
> from many distributed servers phisically separated.
> 
> Would someone please help me, i have googled this and red the manual, 
> but couldnt find similiar situation.
> 
> TIA
> -
> Leo
> 


Just so that we are on the same page, let's review a few definitions as 
they relate to database replication:

master - the server from which changes will propogate during replication. 
slave - the server to which replicated changes will be applied during 
replication.

According to the rules of MySQL replication, as I understand them, each 
master can be a host to many slaves but each slave can only receive 
changes from a single master. 

You said:
> each slave run well and replicate successfully

I assume you mean servers 2-4?

> but the problem is, Server 1 unable to see the update from the other 
> slave server, although i can see the update from each originating slave 

"other slave server"?  I don't quite understand. If Server 1 is supposed 
to be receiving updates then it is the slave and the process it is getting 
the changes from is called the master. A single server process can 
actually have both roles as in this situation:

Server A -> replicates to -> Server B -> replicates to -> Server C

In this case A is the master of B. B is a slave of A.  B is also a master 
to C which is the slave of B. Multi-master replication would be something 
like this:

Server A -> Server C
Server B -> Server C

In this plan, Server C would be recieving changes from both A and B. 
However the current design of MySQL limits you to having only *ONE* master 
per slave for many excellent reasons (search the recent archives of this 
list for a few). 

Can you possibly re-explain your situation using the terms master and 
slave as I just used them?

Shawn Green
Database Administrator
Unimin Corporation - Spruce Pine

Reply via email to