Мулти-главна репликация (подчинен с повече от един главен) не се поддържа от MySQL (освен MySQL Cluster). Можете да направите репликация главен-главен на кръгова (пръстенова) репликация (описана тук или тук ).
В Високопроизводителен MySQL 2-ро издание
авторите описват начин за емулиране на мулти-главна репликация с помощта на умна комбинация от мастер-главна репликация и Blackhole
механизъм за съхранение (Глава 8 Репликация> Топологии на репликация> Решения за персонализирана репликация> Емулиране на репликация с мултимастер стр. 373 - 375
).
Те показват две вероятни топологии:
Използване на два съвместни главни устройства (позволяващо превключване на главния на подчинения от Главен 1 до Master 2 )
- Господар 1: хостове DB1 и репликира DB2 от Master 2; машината за съхранение за всички таблици в DB2 се променя на
Blackhole
така че данните да не се съхраняват ефективно на Master 1 . - Господар 2: хостове DB2 и репликира DB1 отMaster 1; машината за съхранение за всички таблици в DB1 се променя на
Blackhole
така че данните да не се съхраняват ефективно на Master 2 - Подчинен 1: репликира DB1 и DB2 от Master 1 или Master 2 (позволява превключване на мастер); резултатът е, че Slave 1 репликира и двете бази данни, които ефективно се хостват на две различни главни.
Използване на главна верига
- Господар 1: само хостове DB1
- Господар 2: хостове DB2 и репликира DB1 отMaster 1; машината за съхранение за всички таблици в DB1 се променя на
Blackhole
така че данните да не се съхраняват ефективно на Master 2 - Подчинен 1: репликира DB1 и DB2 от Master 2; резултатът е, че Slave 1 репликира и двете бази данни, които ефективно се хостват на две различни главни.
Моля, обърнете внимание, че тази настройка ви позволява само да изпращате актуализации до DB1 чрез Master 1 и актуализации на DB2 към Master 2 . Вие не можете изпращайте актуализации на всяка таблица до произволни главни.
Може би е възможно да комбинирате описаното решение с хака за истинска репликация master-master (позволяваща актуализации и на двата master-а), която използва някакъв вид autoincrement-mangling и е описана тук или тук .