Как Вы фиксируете ошибку MySQL “Incorrect key file”, когда Вы не можете восстановить таблицу?

Я пытаюсь выполнить довольно выполнение больших запросов, которое, как предполагается, работает ночью для заполнения таблицы. Я получаю ошибку при высказывании Incorrect key file for table '/var/tmp/#sql_201e_0.MYI'; try to repair it но механизм устройства хранения данных, который я использую (независимо от того, что значение по умолчанию, я предполагаю?) не поддерживает таблицы восстановления.

как я фиксирую это так, я могу выполнить запрос?

38
задан OMG Ponies 5 May 2011 в 23:24
поделиться

2 ответа

Механизм хранения (MyISAM) ПОДДЕРЖИВАЕТ таблицу восстановления. Вы сможете его отремонтировать.

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

Если у вас есть другие системы (например, непроизводственные с такими же версиями программного обеспечения и схемой) с идентичной таблицей, вы можете исправить это с помощью некоторого взлома (копирование файлов FRM и MYI с последующим восстановлением).

По сути, уловка состоит в том, чтобы в первую очередь избежать поломки столов. Это означает, что вы всегда должны аккуратно выключать вашу базу данных, никогда не допускать сбоев и проблем с оборудованием или питанием. На практике это маловероятно, поэтому, если долговечность имеет значение, вы можете подумать о более безопасном механизме хранения.

4
ответ дан 27 November 2019 в 03:12
поделиться

Ваш запрос создает такой большой набор результатов, что ему необходимо создать временную таблицу для хранения некоторых результатов или некоторого промежуточного продукта, используемого при создании результат.

Временная таблица создается в / var / tmp. Эта временная таблица может быть повреждена. Возможно, на устройстве, на котором создавалась временная таблица, не хватило места. Однако обычно это обычно приводит к ошибке «недостаточно места». Возможно, что-то еще, работающее на вашем компьютере, засорило временную таблицу.

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

Руководство по MySQL - B.5.4.4. Где MySQL хранит временные файлы

8
ответ дан 27 November 2019 в 03:12
поделиться
Другие вопросы по тегам:

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