Spec-Zone.ru › MySQL 8.4

25.7.2 Общие требования к репликации NDB Cluster

Для канала репликации требуются два сервера MySQL, действующие как сервера репликации (по одному для источника и реплики). Например, это означает, что в случае настройки репликации с двумя каналами репликации (чтобы обеспечить дополнительный канал для резервирования) должно быть четыре узла репликации, по два на кластер.

Репликация NDB Cluster, как описано в этом разделе и следующих, зависит от репликации на основе строк. Это означает, что сервер MySQL, являющийся источником репликации, должен работать с --binlog-format=ROW или --binlog-format=MIXED, как описано в разделе 25.7.6 «Запуск репликации NDB Cluster (один канал репликации)». Для общей информации о репликации на основе строк см. раздел 19.2.1 «Форматы репликации».

Важно

Если вы попытаетесь использовать репликацию NDB Cluster с --binlog-format=STATEMENT, репликация не будет работать должным образом, потому что таблица ndb_binlog_index на кластере-источнике и столбец epoch таблицы ndb_apply_status на кластере-реплике не обновляются (см. раздел 25.7.4 «Схема и таблицы репликации NDB Cluster»). Вместо этого только обновления на сервере MySQL, действующем как источник репликации, распространяются на реплику, и никакие обновления от других узлов SQL в кластере-источнике не реплицируются.

Значение по умолчанию для опции --binlog-format — MIXED.

Каждый сервер MySQL, используемый для репликации в любом из кластеров, должен быть уникально идентифицирован среди всех серверов MySQL репликации, участвующих в любом из кластеров (вы не можете иметь серверы репликации как в источнике, так и в реплике, имеющие один и тот же идентификатор). Это можно сделать, запустив каждый узел SQL с опцией --server-id=id, где id — уникальное целое число. Хотя это не строго необходимо, для целей этого обсуждения мы предполагаем, что все двоичные файлы NDB Cluster имеют один и тот же релиз-версии.

В MySQL Replication обычно оба сервера MySQL (mysqld процессы) должны быть совместимы друг с другом по версии используемого протокола репликации и набора поддерживаемых ими SQL-функций (см. раздел 19.5.2 «Совместимость репликации между версиями MySQL»). Именно из-за таких различий между двоичными файлами в распределениях NDB Cluster и MySQL Server 8.4 у репликации NDB Cluster есть дополнительное требование, что оба mysqld двоичных файла должны происходить из дистрибутива NDB Cluster. Самый простой и удобный способ убедиться в совместимости серверов mysqld — это использовать один и тот же дистрибутив NDB Cluster для всех исходных и реплицированных mysqld двоичных файлов.

Мы предполагаем, что сервер или кластер реплики предназначен для репликации кластера-источника и что на нем не хранится никакая другая информация.

Все таблицы NDB, подлежащие репликации, должны быть созданы с помощью сервера и клиента MySQL. Таблицы и другие объекты базы данных, созданные с помощью API NDB (например, ), не видны серверу MySQL и, следовательно, не реплицируются. Обновления приложениями API NDB в существующие таблицы, созданные с помощью сервера MySQL, могут быть реплицированы.

Примечание

Возможно, реплицировать NDB Cluster с использованием репликации на основе операторов. Однако в этом случае применяются следующие ограничения:

  • Все обновления строк данных в кластере, выполняющем роль источника, должны быть направлены на один сервер MySQL.

  • Репликация кластера с использованием нескольких одновременных процессов репликации MySQL невозможна.

  • Реплицируются только изменения, сделанные на уровне SQL.

Это дополнительно к другим ограничениям репликации на основе операторов по сравнению с репликацией на основе строк; см. раздел 19.2.1.1 «Преимущества и недостатки репликации на основе операторов и репликации на основе строк» для более подробной информации о различиях между двумя форматами репликации.

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

Spec-Zone.ru

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