Добавляя новый столбец, получение таблицы # 1114 является полным mysql [duplicate]

A NullReferenceException бросается, когда мы пытаемся получить доступ к свойствам нулевого объекта или когда значение строки становится пустым, и мы пытаемся получить доступ к строковым методам.

Например:

  1. При использовании метода string пустой строки:
    string str = string.Empty;
    str.ToLower(); // throw null reference exception
    
  2. Когда свойство нулевого объекта доступно:
    Public Class Person {
        public string Name { get; set; }
    }
    Person objPerson;
    objPerson.Name  /// throw Null refernce Exception 
    
77
задан Wickethewok 8 April 2009 в 16:56
поделиться

16 ответов

EDIT: сначала проверьте, если вы не закончили дисковое пространство, прежде чем разрешать разрешение, связанное с конфигурацией.

У вас, кажется, слишком низкий максимальный размер для вашего innodb_data_file_path в ваш my.cnf. В этом примере

innodb_data_file_path = ibdata1:10M:autoextend:max:512M

вы не можете принимать более 512 МБ данных во всех таблицах innodb.

Возможно, вам следует переключиться на innodb-per-table с использованием innodb_file_per_table.

71
ответ дан Martin C. 1 September 2018 в 03:24
поделиться
  • 1
    C, где мы получаем этот файл my.cnf в ubuntu – user 16 June 2017 в 07:42
  • 2
    @Nadh В Ubuntu 16.04 он является частью /etc/mysql/ и частично разделен на дополнительные файлы в /etc/mysql/conf.d – Martin C. 17 June 2017 в 22:01

В CentOS 7 просто остановка и запуск службы MySQL исправили это для меня.

sudo service mysql stop

sudo service mysql start

0
ответ дан crmpicco 1 September 2018 в 03:24
поделиться

Если вы используете NDBCLUSTER в качестве механизма хранения, вы должны увеличить DataMemory и IndexMemory.

Mysql FQA

7
ответ дан Emil Davtyan 1 September 2018 в 03:24
поделиться

Эта ошибка также появляется, если заполняется раздел, на котором проживает tmpdir (из-за таблицы изменений или другой

9
ответ дан fimbulvetr 1 September 2018 в 03:24
поделиться

Вы также получите ту же ошибку ERROR 1114 (HY000): таблица '# sql-310a_8867d7f' заполнена

, если вы попытаетесь добавить индекс в таблицу, в которой используется механизм хранения MEMORY .

22
ответ дан Green Card 1 September 2018 в 03:24
поделиться

Возможно, у вас закончилось свободное место либо в разделе, где хранятся таблицы mysql (обычно / var / lib / mysql), либо где хранятся временные таблицы (обычно /tmp).

Вы можете: - контролировать свое свободное пространство во время создания индекса. - укажите переменную MySQL tmpdir в другое место. Для этого требуется перезагрузка сервера.

8
ответ дан Julio 1 September 2018 в 03:24
поделиться
70
ответ дан maaartinus 1 September 2018 в 03:24
поделиться

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

1
ответ дан NotJay 1 September 2018 в 03:24
поделиться

В моем случае память сервера была заполнена, поэтому БД не смогла записать временные данные. Чтобы решить эту проблему, вам просто нужно сделать какое-то место на вашем диске.

1
ответ дан Pierre-Yves Guillemet 1 September 2018 в 03:24
поделиться

Если вы не включили опцию innodb_file_per_table, InnoDB сохраняет все данные в одном файле, обычно называемые ibdata1.

Проверьте размер этого файла и убедитесь, что на диске достаточно места на диске он находится на.

5
ответ дан Quassnoi 1 September 2018 в 03:24
поделиться

Я столкнулся с такой же проблемой из-за низкого дискового пространства. И раздел, в котором размещен файл ibdata1, который является системным табличным пространством для инфраструктуры InnoDB, был заполнен.

1
ответ дан Saveendra Ekanayake 1 September 2018 в 03:24
поделиться

у нас было: SQLSTATE [HY000]: Общая ошибка: 1114 Таблица 'catalog_product_index_price_bundle_sel_tmp' заполнена

решена:

edit config of db:

nano /etc/my.cnf

tmp_table_size = 256M max_heap_table_size = 256M

  • restart db
3
ответ дан Sition 1 September 2018 в 03:24
поделиться
  • 1
    Эти настройки 512M опасны. Они управляют максимальным объемом памяти для временных таблиц в сложных вариантах. Это не просто «за соединение», а также «за таблицу tmp». Таким образом, эти значения могут привести к выходу из памяти. – Rick James 29 July 2016 в 22:29

В моем случае это произошло потому, что раздел, содержащий файл ibdata1, был заполнен.

8
ответ дан skiphoppy 1 September 2018 в 03:24
поделиться

Присвоить документы MySQL.

Механизм хранения InnoDB поддерживает таблицы InnoDB в табличном пространстве, которое может быть создано из нескольких файлов. Это позволяет таблице превышать максимальный размер отдельного файла. В табличное пространство могут входить необработанные разделы диска, что позволяет использовать чрезвычайно большие таблицы. Максимальный размер табличного пространства - 64 ТБ.

Если вы используете таблицы InnoDB и выходите из комнаты в табличном пространстве InnoDB. В этом случае решение заключается в расширении табличного пространства InnoDB. См. Раздел 13.2.5, [«Добавление, удаление или изменение размера данных и файлов журнала InnoDB».]

15
ответ дан Tarek 1 September 2018 в 03:24
поделиться
  • 1
    Мы разместили наш ddbb на Amazon, и он был настроен с авторасширением. Но у нас была та же самая проблема, которую я предполагаю, из-за достижения настроенного сохраненного лимита – borjab 4 November 2016 в 10:03

Это также может быть предел InnoDB для числа открытых транзакций:

http://bugs.mysql.com/bug.php?id=26590

в 1024 транзакции, которые имеют отмененные записи (как, отредактированные любые данные), InnoDB не сработает

-1
ответ дан user 1 September 2018 в 03:24
поделиться

Я тоже столкнулся с этой ошибкой при импорте файла базы данных объемом 8 ГБ. Проверьте мой установочный диск mysql. В накопителе не осталось места. Получив некоторое пространство, удалив ненужные элементы и повторно запустив команду импорта базы данных. На этот раз это было успешно.

6
ответ дан zapping 1 September 2018 в 03:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: