Применение слишком больших бинарных логов MySQL

Применение слишком больших бинарных логов MySQL

Я пытаюсь восстановить сбой MySQL. У меня есть данные по состоянию на понедельник и бинлоги с тех пор, и я хочу применить бинлоги, так как их комбинация будет полным набором данных. Проблема в том, что бинлоги считываются как один пакет. Некоторые из моих слишком большие, до 2,4 ГБ, в то время как MySQL позволяет только max_allowed_packet=1G(1073741824). Есть ли способ разбить их на части или иным образом разделить?

Редактировать: Я сейчас попробовал splitкоманду Linux, которая выдает ошибку "bad magic number" на втором и последующих файлах каждого разделенного файла. После прочтения этого все стало понятно. Я сейчас попробовал использовать, mysqlbinlog --start-position 4 --stop-position 200000003 $1 > $1.binoutчтобы я мог использовать цикл с приращением, но он не заканчивается на границе:

WARNING: The range of printed events ends with a row event or a table map event that does not have the STMT_END_F flag set. This might be because the last statement was not fully written to the log, or because you are using a --stop-position or --stop-datetime that refers to an event in the middle of a statement. The event(s) from the partial statement have not been written to output.

Когда я увеличиваю следующий цикл, есть ли способ определить, какова реальная начальная позиция? Пример закончился на 199994536. Есть ли способ определить последнюю позицию полученного binlog?

Связанный контент