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