У меня проблема с моей базой данных, когда я сделал запрос в одной из моих таблиц. Я получаю это сообщение об ошибке
ОШИБКА 130 (HY000): неправильный формат файла
пожалуйста, как это исправить?
У меня проблема с моей базой данных, когда я сделал запрос в одной из моих таблиц. Я получаю это сообщение об ошибке
ОШИБКА 130 (HY000): неправильный формат файла
пожалуйста, как это исправить?
попробуйте 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
Тип
repair table 'table_name' use_frm
в редакторе SQL и выполнить его. Это восстановит индекс. Хорошая работа...
Позвольте мне объяснить детали, которые я пробовал.
Я получил этот "Неверный формат файла" после выполнения mysqldump. Это похоже на то, как у нас есть проблема при запуске/запросе сервера.
Я пошел в папку mysql/data/yourdatabasename и проверил таблицу. (Для типов таблиц MYISAM мы имеем .frm,.MYI,.MYD.) Я обнаружил, что таблица имеет только tablename.frm. Поэтому я просто переместил часть frm самостоятельно, поскольку она больше не нужна из-за отсутствия файлов .MYI и .MYD. Я сделал то же самое для некоторых других таблиц, которые столкнулись с неправильной проблемой формата файла.
В моем случае таблицы, которые я удалил, не являются MYI/MYD, а некоторые из таблиц не имеют данных. Пожалуйста, убедитесь в обоих случаях, прежде чем делать что-либо из этого. Если вы сделаете это для таблицы данных, вы получите потерю данных для удаляемых таблиц.