Spec-Zone.ru › MySQL 9.2

25.2.7.10 Ограничения, связанные с несколькими узлами кластера NDB

Несколько узлов SQL. Ниже перечислены проблемы, связанные с использованием нескольких серверов MySQL в качестве узлов SQL кластера NDB, и относящиеся к хранилищу NDBCLUSTER:

  • Нераспределенные хранимые программы. Хранимые процедуры, хранимые функции, триггеры и запланированные события поддерживаются таблицами, использующими хранилище NDB, но эти элементы не автоматически распространяются между серверами MySQL, действующими как узлы SQL кластера, и должны быть повторно созданы на каждом узле SQL. См. Хранимые процедуры и триггеры в кластере NDB.

  • Нет распределенных блокировок таблиц. Операция LOCK TABLES или вызов GET_LOCK() работают только для узла SQL, на котором выпущен запрос блокировки; другие узлы SQL в кластере “не видят” эту блокировку. Это относится к блокировке, выпущенной любым запросом, который блокирует таблицы в ходе своей работы. (См. следующий пункт для примера.)

    Реализация блокировок таблиц в NDBCLUSTER может быть выполнена в приложении API, и необходимо убедиться, что все приложения начинают с установки в LM_Read или LM_Exclusive. Дополнительные сведения об этом см. в описании в руководстве по API NDB Cluster API Guide.

  • Операции ALTER TABLE. ALTER TABLE не полностью блокирует при работе с несколькими серверами MySQL (узлами SQL). (Как обсуждалось в предыдущем пункте, кластер NDB не поддерживает распределенные блокировки таблиц.)

Несколько узлов управления. При использовании нескольких серверов управления:

  • Если какие-либо из серверов управления работают на одном хосте, необходимо явно указывать идентификаторы узлов в строках подключения, поскольку автоматическое назначение идентификаторов узлов не работает в случае нескольких серверов управления на одном хосте. Это не требуется, если каждый сервер управления находится на разных хостах.

  • При запуске сервера управления он сначала проверяет наличие других серверов управления в том же кластере NDB и, при успешном подключении к другому серверу управления, использует его данные конфигурации. Это означает, что опции сервера управления --reload и --initial игнорируются, если сервер управления — единственный работающий. Это также означает, что при выполнении поэтапной перезагрузки кластера NDB с несколькими узлами управления сервер управления читает свой собственный файл конфигурации только в том случае, если он является единственным сервером управления, работающим в этом кластере NDB. Дополнительные сведения см. в разделе 25.6.5 «Выполнение поэтапной перезагрузки кластера NDB».

Несколько сетевых адресов. Не поддерживается использование нескольких сетевых адресов на один узел данных. Использование таких адресов может привести к проблемам: в случае сбоя узла данных узел SQL ожидает подтверждения сбоя, но никогда его не получает, так как остается открытым другой путь к этому узлу данных. Это может сделать кластер фактически неработоспособным.

Примечание

Возможно использование нескольких сетевых интерфейсов (например, сетевых карт) для одного узла данных, но эти интерфейсы должны быть привязаны к одному адресу. Это также означает, что нельзя использовать более одной секции [tcp] на подключение в файле config.ini. Дополнительные сведения см. в разделе 25.4.3.10 «Подключения NDB Cluster TCP/IP».

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-9.2-en/mysql-cluster-limitations-multiple-nodes.html

Spec-Zone.ru

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