Tengo un sistema (heredado de otra empresa de desarrollo) y todavía no conozco todas sus características. Construcción:
- cliente / aplicación web (Symfony 1.4)
- DB - MySQL.
El proyecto se implementa en 2 servidores:
1 er: servidor nginx + PHP + DB Master;
2 st: DB Slave.
Cuando el cliente web modifica los datos en DB Master, DB Slave funciona bien y los datos tienen un proceso de replicación normal. Cuando MySQL Management Client modifica los datos, tengo una notificación:
No se puede ejecutar la declaración: imposible de escribir en el registro binario ya que BINLOG_FORMAT = STATEMENT y al menos una tabla usa un motor de almacenamiento limitado al registro basado en filas. InnoDB se limita al registro de filas cuando el nivel de aislamiento de la transacción se LEE COMPROMETIDO o LEÍDO NO COMPROMETIDO
Y luego, DB Slave se cae y el proceso de replicación se rompe (inserción de error ... entrada duplicada ...).
La notificación similar ocurre (en esta situación: error) con el mismo texto, cuando trato de insertar datos con la aplicación / módulo Java (se ejecuta dentro de la transacción) y, después de la excepción, la transacción retrocede y no ocurre ninguna modificación.
¿Cómo puedo resolver este problema y hacer que el sistema funcione y hacer posible que los datos de modificación en DB Master y DB Slaves funcionen en modo normal?