I have one central database with all the data in MySQL 5.1-lastest-stable.
I want to hook up multiple clients in a master-master relationship.
How do I setup a star topology with 1 central server in the middle with multiple client-databases so that changes in one client get propagated first to the central server and from there to all the other client-databases?
I'm using inno-db for all the tables and I've enabled the binary-log.
Other than that I've learned how to do master-master between to databases.
All tables have primary keys primary integer autoincrement
. Where the autoincrements offset and start is tuned to different client-databases never have primary key conflicts.
I have client software (not a website or php) that connects to a local MySQL database on the laptop, this needs to sync to a central database, so that all folks using the program on their laptop see all the other changes that other folks make.
I do not want to connect directly against the central database because if the internet connection drops between the laptop and the central database my application dies.
In this setup the application continues, the laptop just does not get updates from other people until the connection to the central database is reestablished.
Given the requirement to use MySQL Circular Replication against floating slaves as a means to Synchronize DBs, here is a solution:
1 DB Master
4 DB Slaves
SETUP OF DB MASTER
SETUP OF DB SLAVES
IMPORT PROCESS
Once every DB Slave is prepared, now the migration of Data between the DB Master and DB Slave can proceed as follows (DM for DB Master, and DS for DB Slave):
CAVEAT
The import process is crucial !!! You must record the exact log file and log position correctly each and every time.
Give it a Try !!!
Let me know how it goes !!!