В чем разница между журналами транзакций и двоичными журналами?

9

Исходя из магазина SQL Server, я теперь работаю с MySQL, и мне было любопытно.

Каковы различия между двоичным журналом MySQL и журналом транзакций MSSQL?

На сегодняшний день кажется, что для каждого экземпляра MySQL существует только один двоичный журнал, в отличие от журнала транзакций на базу данных, как в MSSQL.

Райан
источник
Было бы здорово увидеть сравнение между ними.
Райан
есть другой ответ на этот вопрос dba.stackexchange.com/questions/72904/…
LawrenceLi

Ответы:

5

Отвечая только на часть вопроса MySQL

Двоичный журнал записывает выполненные операторы SQL. Вы можете иметь много двоичных журналов. При настройках по умолчанию двоичные журналы вращаются с отметкой 1G (см. Expire_logs_days и max_binlog_size ).

Вы можете просмотреть двоичные журналы, выполнив одно из следующих действий:

SHOW BINARY LOGS;
SHOW MASTER LOGS;

Текущий основной журнал всегда является последним в списке. Чтобы увидеть только последний двоичный журнал, который является текущим, запустите это:

SHOW MASTER STATUS;

Когда дело доходит до механизма хранения InnoDB и транзакций

  • Существует файл метаданных (ibdata1, который по умолчанию содержит страницы данных, страницы индекса, метаданные таблицы и информацию MVCC ), также известный как файл табличного пространства InnoDB.
  • Вы можете иметь более одного файла ibdata (см. Innodb_data_file_path )
  • Есть журналы повторов (ib_logfile0 и ib_logfile1)
  • Вы можете иметь более двух журналов повторов (см. Innodb_log_files_in_group )
  • Вы можете распределять данные и индексы по нескольким файлам ibdata, если innodb_file_per_table отключен
  • Вы можете отделить страницы данных и индексов от ibdata в отдельные файлы табличных пространств (см. Innodb_file_per_table и StackOverflow Post о том, как это настроить )
RolandoMySQLDBA
источник
Ах, я вижу, спасибо за ответ Роландо
Райан