我有一个系统(从另一家开发公司继承),但我还不知道它的所有功能。构造:
- Web 客户端/应用程序(symfony 1.4)
- DB - MySQL。
项目部署在2台服务器上:
1-st:nginx服务器+PHP+DB Master;
2-st:DB 从站。
当数据在 DB Master 上被 web-client 修改时,DB Slave 运行良好,数据有正常的复制过程。当 MySQL 管理客户端修改数据时,我有一个通知:
无法执行语句:无法写入二进制日志,因为 BINLOG_FORMAT = STATEMENT 并且至少一个表使用仅限于基于行的日志记录的存储引擎。当事务隔离级别为 READ COMMITTED 或 READ UNCOMMITTED 时,InnoDB 仅限于行日志记录
然后,DB Slave 崩溃并且复制过程中断(错误插入...重复条目...)。
类似的通知发生(在这种情况下 - 错误)具有相同的文本,当我尝试使用 java 应用程序/模块(它在事务内运行)插入数据时,异常后,事务回滚并且不会发生任何修改。
如何解决这个问题并使系统正常工作并使DB Master和DB Slaves上的修改数据在正常模式下工作成为可能?