Поэтому я использую репликацию базы данных MySQL по схеме «мастер-мастер» и распределяю нагрузку между ними.
Это приводит к серверу A с binlog всех его транзакций и серверу B с binlog только его транзакций. Каждый сервер также имеет журнал репликации binlog другого сервера.
Проблема в том, что если у нас когда-нибудь случится катастрофа (например, плохой SQL-запрос, который удаляет слишком много данных) и нам понадобится восстановить резервную копию прошлой ночи, мы хотели бы восстановить базу данных с помощью двоичного журнала до точки плохого SQL-запроса. Но у нас есть два двоичных журнала, каждый из которых содержит все выполненные операторы.
Как объединить два файла в один, сохранив при этом хронологический порядок записей в каждом из них?
После запуска mysqlbinlog для каждого файла я могу получить читаемый файл sql. Каждый файл будет иметь временные метки, но мне нужно найти способ прочитать каждый файл и пройти по ним обоим, решая, когда в объединенном файле будет следующее выражение. Есть какие-нибудь предложения, как это сделать?