Tôi có một hệ thống (được kế thừa từ một công ty phát triển khác) và tôi chưa biết tất cả các tính năng của nó. Xây dựng:
- ứng dụng khách / ứng dụng web (symfony 1.4)
- DB - MySQL.
Dự án được triển khai trên 2 máy chủ:
1-st: nginx server + PHP + DB Master;
2-st: DB Slave.
Khi dữ liệu được sửa đổi bởi máy khách web tại DB Master, DB Slave hoạt động tốt và dữ liệu có quá trình sao chép bình thường. Khi dữ liệu được sửa đổi bởi MySQL Management Client, tôi có một thông báo:
Không thể thực thi câu lệnh: không thể ghi vào nhật ký nhị phân vì BINLOG_FORMAT = STATMENT và ít nhất một bảng sử dụng công cụ lưu trữ giới hạn cho ghi nhật ký theo hàng. InnoDB bị giới hạn ở tính năng ghi nhật ký hàng khi mức cô lập giao dịch được ĐỌC VÀ ĐỌC KHÔNG HOÀN THÀNH
Và sau đó, DB Slave rơi xuống và quá trình sao chép bị phá vỡ (lỗi chèn ... mục nhập trùng lặp ...).
Thông báo tương tự xảy ra (ở tình huống này - lỗi) với cùng một văn bản, khi tôi cố gắng chèn dữ liệu bằng ứng dụng / mô-đun java (nó chạy trong giao dịch) và sau khi ngoại lệ, giao dịch quay trở lại và không có sửa đổi nào xảy ra.
Làm cách nào tôi có thể giải quyết vấn đề này và làm cho hệ thống hoạt động và làm cho dữ liệu chứng nhận có thể có trên DB Master và DB Slaves hoạt động ở chế độ bình thường?