При выполнении условной операции DELETE
в одной из моих таблиц InnoDB, которая, очевидно, требовала создания некоторой временной таблицы в ibdata1, жесткий диск был заполнен и MySQL отказал. Не удалось запустить его снова, пока я не удалил файл ibdata1 (~ 30 ГБ).
Теперь mysql запускается снова, но все таблицы в базе данных кажутся поврежденными (когда я делаю REPAIR TABLE tablename EXTENDED
, я получаю:
+-----------------------------------+--------+----------+---------+
| Table | Op | Msg_type | Msg_text |
+-----------------------------------+--------+----------+---------+
| mydb.table1 | repair | Error | Unknown table engine 'InnoDB' |
| mydb.table1 | repair | error | Corrupt |
+-----------------------------------+--------+----------+---------+
Я использовал опцию innodb_file_per_table
, чтобы все мои файлы .frm и .ibd (которые должны содержать метаданные и данные соответственно) были целыми (с теми же размерами файлов, которые были до сбоя), в каталог: /var/mysql/data/mydb/
. Кто-нибудь знает, как я мог заставить MySQL снова распознать эти таблицы с соответствующими данными?
Спасибо!