una - Completa replicación completa de la base de datos MySQL Ideas? ¿Que hace la gente?




respaldo phpmyadmin (2)

GoldenGate es una solución muy buena, pero probablemente tan cara como el replicador de MySQL.

Básicamente, sigue el diario y aplica cambios en función de lo que se ha comprometido. Admiten la replicación bidireccional (una tarea difícil) y la replicación entre sistemas heterogéneos.

Como trabajan procesando el archivo de diario, pueden realizar una replicación distribuida a gran escala sin afectar el rendimiento en la (s) máquina (s) de origen.

Actualmente tengo dos servidores Linux ejecutando MySQL, uno sentado en un rack junto a mí debajo de una tubería de carga de 10 Mbit / s (servidor principal) y otro a unos pocos kilómetros de distancia en una tubería de carga de 3 Mbit / s (espejo).

Quiero poder replicar datos en ambos servidores continuamente, pero me he topado con varios bloqueos. Uno de ellos es, bajo las configuraciones maestro / esclavo de MySQL, de vez en cuando, algunas declaraciones caen (!), Que significa; algunas personas que inician sesión en la URL espejo no ven datos que sé que están en el servidor principal y viceversa. Digamos que esto sucede en un bloque significativo de datos una vez al mes, así que puedo vivir con eso y asumir que es un problema de "paquete perdido" (es decir, Dios sabe, pero lo compensaremos).

El otro problema recurrente más importante (y molesto) es que, cuando por alguna razón realizamos una carga o actualización importante (o reinicio) en un extremo y tenemos que cortar el enlace, LOAD DATA FROM MASTER no funciona y tengo volcar manualmente en un extremo y cargar en el otro, toda una tarea hoy en día moviendo alrededor de .5 TB de datos.

¿Hay software para esto? Sé que MySQL (la "corporación") ofrece esto como un servicio MUY caro (replicación completa de la base de datos). ¿Qué hace la gente de afuera? De la forma en que está estructurado, ejecutamos un failover automático donde si un servidor no está activo, entonces la URL principal simplemente se resuelve en el otro servidor.


Nunca he visto declaraciones descartadas, pero hay un error donde los problemas de red pueden causar daños en el registro de retransmisión. Asegúrate de no ejecutar mysql sin esta solución.

Documentado en los registros de cambios 5.0.56, 5.1.24 y 6.0.5 de la siguiente manera:

   Network timeouts between the master and the slave could result
   in corruption of the relay log.

http://bugs.mysql.com/bug.php?id=26489





replication