MySQL кластера с использованием 2 mysqld(API) приводит к различным таблицам на доступ

Я использую кластер mysql с 4 узлами данных и 2 серверами с узлами доступа (API) и управления на каждом.

Если я создаю таблицу с использованием API-узла 1, она отображается как несуществующая, если я пытаюсь получить доступ к ней на API-узле 2. Может кто-нибудь объяснить, почему это происходит или как это исправить. Точка запуска 2 узлов API на 2 отдельных серверах предназначена для резервирования.

Пожалуйста, смотрите конфигурацию SHOW ниже (я удалил свои ips):

Cluster Configuration
---------------------
[ndbd(NDB)]     4 node(s)
id=5    @*.*.*.*  (mysql-5.6.19 ndb-7.3.6, Nodegroup: 0)
id=6    @*.*.*.*  (mysql-5.6.19 ndb-7.3.6, Nodegroup: 0, *)
id=7    @*.*.*.*  (mysql-5.6.19 ndb-7.3.6, Nodegroup: 1)
id=8    @*.*.*.* (mysql-5.6.19 ndb-7.3.6, Nodegroup: 1)

[ndb_mgmd(MGM)] 2 node(s)
id=1    @*.*.*.*  (mysql-5.6.19 ndb-7.3.6)
id=2    @*.*.*.*  (mysql-5.6.19 ndb-7.3.6)

[mysqld(API)]   2 node(s)
id=3    @*.*.*.*  (mysql-5.6.19 ndb-7.3.6)
id=4    @*.*.*.*  (mysql-5.6.19 ndb-7.3.6)

Если вам нужна дополнительная информация, пожалуйста, спросите, и я обновлю свой вопрос.

1 ответ

Используете ли вы правильный механизм хранения? Если таблица должна быть "кластеризованной" (хранящейся на кластерных датодах), вы должны использовать engine=ndbcluster.

Таблицы, созданные как innodb или myisam, будут храниться локально на узле, для которого они созданы, и недоступны для других узлов mysql api.

Преобразовать узел хранения в движок ndb можно с помощью таблицы alter.

механизм изменения таблицы =ndbcluster;

Другие вопросы по тегам