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
[EMAIL PROTECTED] 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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> 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/[EMAIL PROTECTED]
>
--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]