Spec-Zone.ru › MySQL 9.2

19.2.1 Форматы репликации

  • 19.2.1.1 Преимущества и недостатки репликации на основе инструкций и строк
  • 19.2.1.2 Использование журнала строк и репликации
  • 19.2.1.3 Определение безопасных и небезопасных инструкций в двоичном журнале

Репликация работает, потому что события, записанные в двоичный журнал, считываются со источника и затем обрабатываются на реплике. События записываются в двоичный журнал в различных форматах в зависимости от типа события. Разные форматы репликации соответствуют формату двоичного журнала, используемому при записи событий в двоичный журнал источника. Связь между форматами двоичного журнала и терминами, используемыми во время репликации, следующая:

  • При использовании двоичного журнала на основе инструкций источник записывает SQL-инструкции в двоичный журнал. Репликация источника на реплику работает путем выполнения SQL-инструкций на реплике. Это называется репликацией на основе инструкций (которую можно сократить до SBR), что соответствует формату двоичного журнала MySQL на основе инструкций.

  • При использовании журналирования на основе строк источник записывает события в двоичный журнал, которые указывают, как изменяются отдельные строки таблицы. Репликация источника на реплику работает путем копирования событий, представляющих изменения в строках таблиц, на реплику. Это называется репликацией на основе строк (которую можно сократить до RBR).

    Журналирование на основе строк является методом по умолчанию.

  • Вы также можете настроить MySQL для использования смешанного формата журнала, основанного на инструкциях и строках, в зависимости от того, что больше подходит для изменения, которое нужно записать в журнал. Это называется журналированием смешанного формата. При использовании смешанного формата журнала используется журнал на основе инструкций по умолчанию. В зависимости от определенных инструкций, а также используемого движка хранения, журнал автоматически переключается на журналирование на основе строк в особых случаях. Репликация, использующая смешанный формат, называется репликацией смешанного формата. Дополнительную информацию см. в Разделе 7.4.4.3, «Формат смешанного двоичного журнала».

Кластер NDB. По умолчанию формат двоичного журнала в MySQL NDB Cluster 9.2 — ROW. Репликация NDB Cluster использует репликацию на основе строк; хранилище NDB несовместимо с репликацией на основе инструкций. Дополнительную информацию см. в Разделе 25.7.2, «Общие требования к репликации NDB Cluster».

При использовании формата MIXED формат двоичного журнала частично определяется используемым движком хранения и выполняемой инструкцией. Дополнительную информацию о журналировании смешанного формата и правилах, регулирующих поддержку различных форматов журналирования, см. в Разделе 7.4.4.3, «Формат смешанного двоичного журнала».

Формат журналирования в работающем сервере MySQL управляется установкой системной переменной сервера binlog_format. Эта переменная может быть установлена в сеансовом или глобальном контексте. Правила, регулирующие время и способ вступления новой настройки в силу, такие же, как и для других системных переменных сервера MySQL. Установка переменной для текущего сеанса действует только до конца этого сеанса, и изменение не отображается другим сеансам. Глобальная установка переменной вступает в силу для клиентов, подключающихся после изменения, но не для текущих сеансов клиентов, включая сеанс, в котором была изменена переменная. Чтобы сделать глобальную настройку системной переменной постоянной, чтобы она применялась при перезапуске сервера, необходимо установить её в файле параметров. Дополнительную информацию см. в Разделе 15.7.6.1, «Синтаксис SET для задания переменных».

Существуют условия, при которых вы не можете изменить формат двоичного журнала во время выполнения или это приводит к сбою репликации. См. Раздел 7.4.4.2, «Установка формата двоичного журнала».

Для изменения глобального значения binlog_format требуется доступ, достаточный для установки глобальных системных переменных. Для изменения значения сеансовой переменной binlog_format требуется доступ, достаточный для установки ограниченных сеансовых системных переменных. См. Раздел 7.1.9.1, «Права на системные переменные».

Примечание

Изменение формата двоичного журнала (binlog_format системная переменная) устарело в MySQL 8.0; в будущей версии MySQL ожидается, что binlog_format будет полностью удалено, а формат на основе строк станет единственным форматом журналирования, используемым MySQL.

Форматы репликации на основе инструкций и строк имеют различные проблемы и ограничения. Сравнение их преимуществ и недостатков см. в Разделе 19.2.1.1, «Преимущества и недостатки репликации на основе инструкций и строк».

При репликации на основе инструкций могут возникнуть проблемы с репликацией хранимых процедур или триггеров. Вы можете избежать этих проблем, используя репликацию на основе строк. Дополнительную информацию см. в Разделе 27.8, «Журналирование хранимых процедур».

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-9.2-en/replication-formats.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API