Ошибка кластера MySQL 1114 (HY000): таблица «пользователи» заполнена - PullRequest
4 голосов
/ 14 ноября 2010

У меня есть настройка кластера MySQL, есть 2 узла данных и 1 узел управления.Теперь мы получаем ошибки в наших узлах данных при выполнении вставок.

ОШИБКА 1114 (HY000): таблица 'users' заполнена

Пожалуйста, любая помощь приветствуетсяЭто проблема конфигурации, если так, какой узел?каждый узел является сервером Ubuntu 9.

Ответы [ 4 ]

5 голосов
/ 19 марта 2012

Ответ здесь: http://dev.mysql.com/doc/refman/5.0/en/faqs-mysql-cluster.html#qandaitem-B-10-1-13

короче: движок ndb хранит все данные в оперативной памяти. Если ваши узлы имеют 1 ГБ ОЗУ и вы пытаетесь загрузить базу данных 4 ГБ, вам (почти) не повезло.

Существует способ настроить ndb на использование диска для хранения данных, чтобы ОЗУ использовалось только для хранения индексов (они все еще должны храниться в ОЗУ), вот как: http://dev.mysql.com/doc/refman/5.1/en/mysql-cluster-disk-data-objects.html

Однако, если вы сделаете это, вы получите гораздо более низкие показатели.

3 голосов
/ 27 ноября 2012

На всякий случай, если кто-то пройдет мимо этой проблемы, основной причиной этой проблемы является значение для MaxNoOfConcurrentOperations, которое должно быть поднято в соответствии с количеством строк, которое должна содержать таблица.

Следующие решения должны быть решены для этой проблемы.

  1. Измените CREATE TABLE первоначального создания таблицы, включив в нее значение MAX_ROWS, чтобы оно удваивало число строк, которые должна содержать эта таблица.

  2. Увеличьте значения MaxNoOfConcurrentOperations и MaxNoOfConcurrentTransactions до значения, превышающего наибольшую таблицу в кластере.Вероятно, это связано с тем, что MySQL Cluster работает на всех строках параллельно при применении любой операции к большой таблице.

2 голосов
/ 14 ноября 2010

Проверьте настройку innodb_data_file_path - эта ошибка предполагает, что вы превысили доступное пространство, определенное в этом ключе. Проверьте эту ссылку для переопределения пространства для InnoDB.

В качестве альтернативы, вы могли просто нехватить места на диске в разделе, в котором хранятся данные.

1 голос
/ 25 июня 2016

Я столкнулся с той же ошибкой, когда загружал только структуры таблиц БД. Что означает, что DataMemory или IndexMemory не помогли здесь. Также количество таблиц не достигло предела в MaxNoOfTables, так что это не проблема. Решением для меня было увеличение значений MaxNoOfOrderedIndexes и MaxNoOfUniqueHashIndexes, которые отражают максимальное количество индексов, которые вы можете иметь в кластере. Поэтому, если в вашей БД много индексов, попробуйте соответственно увеличить эти переменные. Конечно, после этого изменения необходимо выполнить [повторный запуск] [1]!

Надеюсь, это кому-нибудь поможет!

...