La réplication multi-maître (un esclave avec plus d'un maître) n'est pas prise en charge par MySQL (à part MySQL Cluster). Vous pouvez faire une réplication maître-maître d'une réplication circulaire (anneau) (décrite ici ou ici ).
Dans MySQL hautes performances 2e édition
les auteurs décrivent un moyen d'émuler la réplication multi-maître en utilisant une combinaison intelligente de réplication maître-maître et de Blackhole
moteur de stockage (Chapitre 8 Réplication> Topologies de réplication> Solutions de réplication personnalisées> Émuler la réplication multimaître p. 373 - 375
).
Ils montrent deux topologies possibles :
Utiliser deux co-maîtres (permettant de commuter le maître de l'esclave de Maître 1 au Master 2 )
- Master 1 : héberge DB1 et réplique DB2 du Master 2; le moteur de stockage pour toutes les tables dans DB2 est remplacé par
Blackhole
afin que les données ne soient pas effectivement stockées sur Master 1 . - Master 2 : héberge DB2 et réplique DB1 du Master 1; le moteur de stockage pour toutes les tables dans DB1 est remplacé par
Blackhole
afin que les données ne soient pas effectivement stockées sur Master 2 - Esclave 1 : réplique DB1 et DB2 soit de Master 1 ou Master 2 (permettant de changer de maître); le résultat est que Esclave 1 réplique les deux bases de données qui sont effectivement hébergées sur deux maîtres différents.
Utiliser une chaîne principale
- Master 1 : héberge uniquement DB1
- Master 2 : héberge DB2 et réplique DB1 du Master 1; le moteur de stockage pour toutes les tables dans DB1 est remplacé par
Blackhole
afin que les données ne soient pas effectivement stockées sur Master 2 - Esclave 1 : réplique DB1 et DB2 du Master 2; le résultat est que Esclave 1 réplique les deux bases de données qui sont effectivement hébergées sur deux maîtres différents.
Veuillez noter que cette configuration vous permet uniquement d'envoyer des mises à jour à DB1 jusqu'au Master 1 et mises à jour de DB2 au Master 2 . Vous ne pouvez pas envoyer des mises à jour à l'une ou l'autre des tables à des maîtres arbitraires.
Il est peut-être possible de combiner la solution décrite avec le hack pour une véritable réplication maître-maître (permettant les mises à jour des deux maîtres) qui utilise une sorte d'auto-incrémentation et est décrite ici ou ici .