"Chris Knipe" <[EMAIL PROTECTED]> wrote on 02/28/2005 11:53:14 AM:

> Hi,
> 
> Is two-way replication possible with MySQL 5.x?  Any good sites / docs 
> describing this type of setup?
> 
> --
> Chris. 
> 
> 

By "two-way" replication, do you mean "changes to either database are 
synchronized to the other"? This is a dual-master situation and not yet 
supported by MySQL.  The problem is with cross-server locking. Right now 
(even with v5.0) MySQL does not know to lock a record on your "other" 
server to prevent someone over "there" from changing that record while you 
are editing it on "this" server. Same goes for inserts (auto_increment 
values are not coordinated) and deletes.

Now, I have been monitoring the development lists on the MySQL Cluster and 
MySQL Federated lines and both are working on inter-server coordination 
but I have no idea if either of those products will fit your need.

As of today, MySQL does support 1-way, and chained replication. There is 
no rule that prevents you from creating circular replication by making 
each server the "child" of the other. The danger with circular replication 
is that you need to ensure (by application-level logic, data partitioning, 
or any of other techniques) that insert collisions do not occur (no two 
new records get the same primary key from different servers) and that you 
can gracefully handle simultaneous updates (as they are not prevented at 
the server level). 

Search this list's and the other lists' archives (http://lists.mysql.com/) 
for some pretty clever workarounds to help stabilize circular replication. 
During your searches, you will find links to several books that are 
online, I highly recommend you read ALL of those links. 

Shawn Green
Database Administrator
Unimin Corporation - Spruce Pine

Reply via email to