Configurar mysql como maestro dual realmente funciona bien en el escenario correcto hecho correctamente. Pero no estoy seguro de que encaje muy bien en su escenario.
En primer lugar, la configuración dual master en mysql es realmente una configuración de anillo. El servidor A se define como maestro de B, mientras que B se define al mismo tiempo como el maestro de A, por lo que ambos servidores actúan como maestro y esclavo. La replicación funciona enviando un registro binario que contiene las sentencias sql que el esclavo inserta cuando lo considera apropiado, lo que generalmente ocurre de inmediato. Pero si lo estás martillando con inserciones locales, tomará un tiempo para ponerse al día. Las inserciones de esclavos son secuenciales por cierto, por lo que no obtendrá ningún beneficio de múltiples núcleos, etc.
El uso principal de dual master mysql es tener redundancia en el nivel del servidor con conmutación por error automática (a menudo usando hearbeat en linux). Excluyendo mysql-cluster (por varias razones), esta es la única failover automática utilizable para mysql. La configuración para maestro dual básico se encuentra fácilmente en google. Los latidos son un poco más de trabajo. Pero esto no es realmente lo que preguntabas, ya que esto realmente se comporta como un único servidor de base de datos.
Si desea la configuración maestra dual porque siempre desea escribir en una base de datos local (escríbalas a las dos al mismo tiempo), tendrá que escribir su aplicación teniendo esto en cuenta. Nunca puede tener valores de incremento automático en la base de datos, y cuando tiene valores únicos, debe asegurarse de que las dos ubicaciones nunca escriban el mismo valor. Por ejemplo, la ubicación A podría escribir números únicos impares y la ubicación B podría escribir incluso números únicos. La razón es que no se garantiza que los servidores estén sincronizados en un momento dado, por lo que si ha insertado una fila única en A y luego una fila única superpuesta en B antes de que el segundo servidor alcance la tener un sistema roto Y si algo se rompe por primera vez, todo el sistema se detiene.
Para resumir: es posible, pero tendrá que inclinarse muy cuidadosamente si está construyendo un software empresarial además de esto.
thnx para el enlace – Edmhs