Good point about the bin-logs. Yup - that would sink it. If mysql used individual binary
logs per master database, it would work.
Ya, if someone was silly enough to have two different databases with the same name, it
would be bad, even with separate binary
logs for each database.
If you have two mysql instances on a single slave, you'll need more memory, faster CPUs,
more disk space, etc. But it could be a
viable option if the machine is just being used to provide a hot-standby.
David
SGreen@stripped wrote:
>
> MySQL cannot handle more than one incoming binlog at a time. The
> facilities are just not in the code.
>
> You also run into a nightmare if a database exists on BOTH masters (same
> name on both systems) and the PK values of any tables (also with
> matching names) overlap. If both masters update the "same" row at appx
> the same time, we could run into deadlocking in the slave that didn't
> happen on either master. It also means that the slave and at least one
> of the masters will become out of sync (because the "other" master's
> changes remain in the database) and replication is considered "broken"
> at that point. It's a serious can of worms to handle multi-master
> replication.
>
> Your two instances on one matching replicating to two separate masters
> is not a multi-master replication (more than one master replicating with
> a single slave) it's two single-master slave setups running on the same
> machine. Close but not quite what the original post was looking for (I
> don't think).
>
> Shawn Green
> Database Administrator
> Unimin Corporation - Spruce Pine
>
>
>
> David Griffiths <dgriffiths@stripped> wrote on 03/01/2006 04:34:26 PM:
>
> > That's not entirely true.
> >
> > You can have two instances of mysql running on the slave, and dbA
> > connects to one instance, and dbB connects to the other.
> >
> >
> >
> > Jeff, when you say, "different databases", do you mean that each
> > master has a single mysql instance, and if you typed on M1,
> >
> > "show databases" you'd see (for example), "dbA"
> >
> > and if you did the same on M2, you'd see, "dbB"?
> >
> > If so, I wonder if there is another way to get around it:
> >
> > - create a virtual IP address that represents both masters. Use that
> > virtual master in the my.cnf on the slave; each master has to
> > have an identical replication account
> >
> > - put dbA and dbB on the slave
> >
> > - restrict replication from each master to their respective
> > databases - "dbA" and "dbB" - ie don't replicate changes to the
> > "mysql" database.
> >
> > The two masters appear as one (which overcomes the single-IP-address
> > in the slave's my.cnf file), and each master has a different
> > database inside the mysql instance, they aren't stepping on each
> others toes.
> >
> > Just my 2 cents.
> >
> > David.
> >
> > Greg Donald wrote:
> > > On 3/1/06, Jeff <jsmforum@stripped> wrote:
> > >> Does anyone know if it's possible to replicate to a single slave from
> > >> different databases on different masters?
> > >>
> > >> For instance:
> > >>
> > >> M1:dbA M2:dbB
> > >> \ /
> > >> rep rep
> > >> \ /
> > >> Slave
> > >
> > >
> > > http://dev.mysql.com/doc/refman/5.1/en/replication-features.html
> > >
> > > <snip>MySQL only supports one master and many slaves.</snip>
> > >
> > >
> > >
> > > --
> > > Greg Donald
> > > Zend Certified Engineer
> > > MySQL Core Certification
> > > http://destiney.com/
> > >
> >
> > --
> > MySQL General Mailing List
> > For list archives: http://lists.mysql.com/mysql
> > To unsubscribe: http://lists.mysql.com/mysql?unsub=1
> >