Poor man's MM replication? (Not really, but sort of...)

hello everyone!

first, I have read that multi-source replication is not available in percona/mysql 8, but what I’m needing kinda fits in that category…

I’ve got 2 production servers that serve completely different (large-ish) datasets. each primary server has a replica. I have a need to combine most (?) of the data from both primary servers into one server for some reporting project. my initial thought was to do a daily dump/load from each replica to the reporting server, but the data sets are large enough that it will take too much time. since one mysql 8 server cannot be the replica of 2 primaries, are there any solutions that come to mind? at this point, I’m open to any ideas whatsoever, including “what you’re asking for is dumb, what you should try is $this_idea.”

thank you!

Where did you read that? That is completely false. You can absolutely configure db1<->db2 replication and you can configure fan-in as well, where a single replica has several sources.

You can absolutely do this.
https://dev.mysql.com/doc/refman/8.0/en/replication-multi-source.html

The very first sentence from the official manual reads:

MySQL multi-source replication enables a replica to receive transactions from multiple immediate sources in parallel.

So where ever you read that it doesn’t work/not available, you should send them that link. :slight_smile:

For your stuff, you can configure 2 replica channels, one for source A and one for source B. The tables/databases should not overlap. If you have a database.table “foobar.mytable” in source A, you can’t have that same table in source B otherwise there would be insane conflicts.

hey @matthewb

oh that’s fantastic!!! even though I have a little egg on my face for getting my details wrong, I learned something new today! thank you so much :slight_smile: