[EMAIL PROTECTED] ("Carl") writes:

> I am running 5.0.24a on Slackware Linux.  I would like to set up a 
> master-master replication process so that I can use both servers as master as 
> add/delete/update records on both servers from different application servers 
> (Tomcat.)  I suspect the inserts will be OK but don't understand how the 
> edits and deletes would work (primary key is autoincrement):
> 
>                                                         (Serial)              
>           (Serial)
> Transaction                                        Server A                   
>  Server B
> Add to server A                                        1
>     Replicated                                                                
>             1
> 
> Add to server A                                        2
> Add to server B (before record 2                                              
>       2
>         is replicated)
>     Replicate to server B                                                     
>             ?
>     Replicate to server A                            ? 
> 
> Does replication control the order in which transactions are applied so that 
> somehow the replication from server A to server B is applied before the 
> insert to server B?

You need to set 2 variables to ensure you don't have problems.

# when you have 2 master servers
auto_increment_increment = 2
# each server has a different offset (values in this case 1,2)
auto_increment_offset    = 1

This way each master will generate unique ids

Note: doing this means that you will get gaps in your ids as each
server uses its own value to generate new ids and these increment by
auto_increment_increment every time.

Be aware that if the updates to the tables are very frequent it's
quite possible that replication delay may mean that the data on both
servers is not the same. The only way to ensure that this is avoided
is to use explicit WHERE id IN (1,3,43,5,...,nn) clauses so that you
are absolutely certain that the changes applied on one master will be
produced on the other one.

Simon

-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to