У меня есть система (унаследованная от другой компании-разработчика), и я пока не знаю всех ее возможностей. Конструкция:
- веб-клиент / приложение (symfony 1.4)
- БД - MySQL.
Проект развернут на 2 серверах:
1-й: nginx server + PHP + DB Master;
2-й: БД Раб.
Когда данные модифицируются веб-клиентом в DB Master, DB Slave работает хорошо, и данные имеют нормальный процесс репликации. Когда данные модифицируются MySQL Management Client, у меня появляется уведомление:
Невозможно выполнить оператор: невозможно записать в двоичный журнал, так как BINLOG_FORMAT = STATEMENT и хотя бы в одной таблице используется механизм хранения, ограниченный ведением журнала на основе строк. InnoDB ограничен регистрацией строк, когда уровень изоляции транзакции READ COMMITTED или READ UNCOMMITTED
И затем, DB Slave падает, и процесс репликации прерывается (ошибка вставки ... повторяющаяся запись ...).
Подобное уведомление происходит (в этой ситуации - ошибка) с тем же текстом, когда я пытаюсь вставить данные с помощью Java-приложения / модуля (он запускается внутри транзакции), и после исключения транзакция откатывается, и никаких изменений не происходит.
Как я могу решить эту проблему и заставить систему работать и сделать возможным модификацию данных на БД-ведущей и БД-ведомых, работающих в обычном режиме?