Как исправить "ERROR 130 (HY000): неправильный формат файла"

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

ОШИБКА 130 (HY000): неправильный формат файла

пожалуйста, как это исправить?

Ответ 1

попробуйте repair table, другая хорошая статья


Соответствующий раздел из первой ссылки:

База данных MySQL позволяет вам определить другой механизм хранения MySQL для разных таблиц. Механизм хранения - это двигатель, используемый для хранения и извлекать данные. Наиболее популярными системами хранения являются MyISAM и InnoDB.

Таблицы MyISAM - в конечном итоге будут повреждены. Это факт жизни.

К счастью, в большинстве случаев повреждение таблицы MyISAM легко исправить.

Чтобы исправить одну таблицу, подключитесь к своей базе данных MySQL и выполните следующую команду:

repair TABLENAME

Чтобы все исправить, перейдите по ссылке:

/usr/local/mysql/bin/mysqlcheck --all-databases -uUSERNAME -pPASSWORD -r

Много раз, таблицы MyISAM будут повреждены, и вы даже не знаете об этом, если вы не просмотрите файлы журнала.

Я настоятельно рекомендую вам добавить эту строку в файл конфигурации /etc/my.cnf. Это автоматически исправит таблицы MyISAM, как только они станут повреждены:

[mysqld] 
myisam-recover=backup,force

http://www.softwareprojects.com/resources/programming/t-how-to-fix-mysql-database-myisam-innodb-1634.html

Ответ 2

Тип repair table 'table_name' use_frm в редакторе SQL и выполнить его. Это восстановит индекс. Хорошая работа...

Ответ 3

Позвольте мне объяснить детали, которые я пробовал.

Я получил этот "Неверный формат файла" после выполнения mysqldump. Это похоже на то, как у нас есть проблема при запуске/запросе сервера.

Я пошел в папку mysql/data/yourdatabasename и проверил таблицу. (Для типов таблиц MYISAM мы имеем .frm,.MYI,.MYD.) Я обнаружил, что таблица имеет только tablename.frm. Поэтому я просто переместил часть frm самостоятельно, поскольку она больше не нужна из-за отсутствия файлов .MYI и .MYD. Я сделал то же самое для некоторых других таблиц, которые столкнулись с неправильной проблемой формата файла.

В моем случае таблицы, которые я удалил, не являются MYI/MYD, а некоторые из таблиц не имеют данных. Пожалуйста, убедитесь в обоих случаях, прежде чем делать что-либо из этого. Если вы сделаете это для таблицы данных, вы получите потерю данных для удаляемых таблиц.