Разница между журналом транзакций и журналом повторов в MySQL

14

Я читал о MySQL. На мой взгляд, я вижу два типа журнала как очень похожие. MySQL сохраняет как и когда данные изменяются в журнале. Информация используется для восстановления MySQL. Я путаю функцию двух типов журналов.

Люк Нгуен
источник

Ответы:

18

Журнал REDO - это терминология Oracle, журнал транзакций - это терминология InnoDB. Теперь, когда все являются инженерами Oracle, люди используют оба для обозначения одного и того же в MySQL .

По умолчанию журнал транзакций - его можно изменить - вызывают два файла, расположенных в $ DATADIR, ib_logfile0и ib_logfile1. Он выполняет те же функции, что и журнал REDO в других базах данных: безопасное хранение записей и восстановление в случае сбоя, хотя в реализации есть некоторые детали, отличающиеся по функциональности от других RDMS. Это основной компонент для InnoDB, чтобы быть транзакционным движком.

Не путайте журнал транзакций с двоичными журналами в MySQL . Бинлог, по умолчанию, находится в $ DATADIR, имеет *hostname*-bin.indexи несколько *hostname*-bin.00001, и т. Д. Он особенно запутывает людей, приходящих из других баз данных, потому что он используется для других вещей, для которых другие базы данных используют журнал REDO: репликация и момент времени восстановление. Основное отличие состоит в том, что журнал транзакций предназначен только для InnoDB, двоичный журнал (в основном) не зависит от транзакций, как и для всех механизмов хранения, транзакционных или нет. MyISAM запишет (если включено) в двоичный журнал. InnoDB запишет в журнал транзакций и двоичный журнал.

Больше информации в руководстве: журнал REDO , двоичный журнал .

jynus
источник
-2

В SQL Server файлы TLog хранят информацию как об отмене, так и восстановлении. Но в MYSQL и Oracle TLog / Redo Log хранит только информацию о восстановлении.

Бинарная регистрация в MySQL - это способ восстановления на определенный момент времени. Включение двоичного ведения журнала эквивалентно полной модели восстановления в SQL Server.

Mersh
источник
1
Вы, вероятно, должны прояснить, что Oracle все еще сохраняет отмены, хотя и отдельно.
Philᵀᴹ