Репликация на основе инструкций MySQL: содержит ли binlog точные запросы, выполненные на master?
Мы должны были отладить наше веб-приложение для события, которое произошло несколько дней назад, и все, что у нас есть, это блоки репликации MySQL (репликация операторов). Можем ли мы полагаться на те же запросы SQL, которые выполнялись нашим веб-приложением на master?
Наше приложение выполняет множество обновлений для одной строки в одной таблице, но это всегда такие запросы, как UPDATE y SET x = x + 1 ...
или же x = x - 2
, никогда UPDATE y SET x = 23 ...
и в бинлоге мы нашли много x = 23
вид обновлений. Может ли быть так, что те, кто строго присваивает запросы UPDATE, фактически создаются механизмом репликации?
1 ответ
На самом деле приложение делало те SET x=23
вид обновлений, но при определенных условиях.
Итак, отвечая на мой собственный вопрос: запросы, которые вы найдете в binlog, те же самые, которые выполняются в основной базе данных, но вы найдете там только запросы вставки / обновления (очевидно, без выбора), и их порядок может быть другим (вам нужно посмотрите на отметки времени в комментариях в binlog).