La replica multi-master (uno slave con più di un master) non è supportata da MySQL (oltre a MySQL Cluster). Puoi eseguire una replica master-master di una replica circolare (ad anello) (descritta qui oppure qui ).
In Seconda edizione MySQL ad alte prestazioni
gli autori descrivono un modo per emulare la replica multi-master utilizzando un'intelligente combinazione di replica master-master e Blackhole
motore di archiviazione (Capitolo 8 Replica> Topologie di replica> Soluzioni di replica personalizzate> Emulazione della replica multimaster p. 373 - 375
).
Mostrano due possibili topologie:
Utilizzo di due co-master (consentendo di cambiare il master dello slave da Master 1 al Master 2 )
- Maestro 1: ospita DB1 e replica DB2 da Master 2; il motore di archiviazione per tutte le tabelle in DB2 è cambiato in
Blackhole
in modo che i dati non vengano effettivamente archiviati su Master 1 . - Maestro 2: ospita DB2 e replica DB1 da Master 1; il motore di archiviazione per tutte le tabelle in DB1 è cambiato in
Blackhole
in modo che i dati non vengano effettivamente archiviati su Master 2 - Slave 1: replica DB1 e DB2 da uno dei Master 1 o Master 2 (consentendo di cambiare master); il risultato è quello Slave 1 replica entrambi i database che sono effettivamente ospitati su due master diversi.
Utilizzo di una catena principale
- Maestro 1: ospita solo DB1
- Maestro 2: ospita DB2 e replica DB1 da Master 1; il motore di archiviazione per tutte le tabelle in DB1 è cambiato in
Blackhole
in modo che i dati non vengano effettivamente archiviati su Master 2 - Slave 1: replica DB1 e DB2 da Master 2; il risultato è quello Slave 1 replica entrambi i database che sono effettivamente ospitati su due master diversi.
Tieni presente che questa configurazione ti consente solo di inviare aggiornamenti a DB1 tramite Master 1 e aggiornamenti a DB2 al Master 2 . Non puoi inviare aggiornamenti a una delle due tabelle a master arbitrari.
Forse è possibile combinare la soluzione descritta con l'hack per una vera replica master-master (consentendo aggiornamenti a entrambi i master) che utilizza una sorta di manipolazione dell'autoincremento ed è descritta qui oppure qui .