Привет! Я пытаюсь вставить таблицы в кластер mysql, но через некоторое время я получаю следующую ошибку. Подскажите, пожалуйста, как это исправить.
ОШИБКА 1114 (HY000) в строке 2137: таблица 't_email_contacts' заполнена
Привет, Эндрю, это результат ALL REPORT MEMORY
Node 2: Data usage is 0%(45 32K pages of total 98048)
Node 2: Index usage is 0%(408 8K pages of total 392224)
Node 3: Data usage is 0%(45 32K pages of total 98048)
Node 3: Index usage is 0%(408 8K pages of total 392224)
, он показывает 0%, но я все равно получаю ошибку полной таблицы, заранее спасибо.
Существует несколько причин этого.
df -H
покажет, полон ли раздел. , Если Вы используете innodb: посмотрите innodb_data_file_path
в Вашем my.cnf
. Вы могли бы превышать "макс." сумму. Пример этого:
innodb_data_file_path = ibdata1:10M:autoextend:max:512M
Вы можете 512 или удалять :max:512m
полностью для него, чтобы быть "безграничными".
Относительно Кластера NDB:
механизм NDB содержит все данные в RAM. Из ссылки:
MySQL 5.0 In, Кластер в оперативной памяти только. Это означает, что все данные таблицы (включая индексы) хранятся в RAM. Поэтому, если Ваши данные поднимают 1 ГБ пространства, и Вы хотите копировать его однажды в кластере, Вам нужны 2 ГБ памяти, чтобы сделать так (1 ГБ за копию). Это в дополнение к памяти, требуемой операционной системой и любыми приложениями, работающими на кластерных компьютерах
, Если это - причина, можно сделать это , но это будет хит производительности.
Проверка значения MaxNoOfConcurrentOperations
и MaxNoOfConcurrentTransactions
. Установите их на значение выше, чем самая большая таблица в кластере.
Проверка файл журнала для похожих сообщений (ndb_2_trace.log
?). Если это показывает вещи как "Узел 2: использование Данных увеличилось до 100%", у Вас заканчивается память.
IndexMemory
и DataMemory
соответствующие настройки. При превышении их, Вы получаете эту ошибку. максимальное количество атрибутов (столбцы и индексы) на таблицу ограничено 128.