Ho un sistema (ereditato da un'altra società di sviluppo) e non ne conosco ancora tutte le funzionalità. Costruzione:
- client / applicazione web (symfony 1.4)
- DB - MySQL.
Il progetto è distribuito su 2 server:
1 °: server nginx + PHP + DB Master;
2 °: DB Slave.
Quando i dati vengono modificati dal client Web su DB Master, DB Slave funziona correttamente e i dati hanno un normale processo di replica. Quando i dati vengono modificati da MySQL Management Client, ricevo una notifica:
Impossibile eseguire l'istruzione: impossibile scrivere nel registro binario poiché BINLOG_FORMAT = STATEMENT e almeno una tabella utilizza un motore di archiviazione limitato alla registrazione basata su righe. InnoDB è limitato al log delle righe quando il livello di isolamento della transazione è LEGGI COMMITTATO o LEGGI NON COMUNITO
Quindi, DB Slave cade e il processo di replica si interrompe (inserimento errore ... voce duplicata ...).
La notifica simile si verifica (in questa situazione - errore) con lo stesso testo, quando provo a inserire dati con l'applicazione / modulo java (viene eseguito all'interno della transazione) e dopo l'eccezione, la transazione viene ripristinata e non si verificano modifiche.
Come posso risolvere questo problema e far funzionare il sistema e rendere possibile la modifica dei dati su DB Master e DB Slaves in modalità normale?