LINUX.ORG.RU
ФорумAdmin

MySQL InnoDB восстановление

 ,


0

1

Крутился себе Distrib 5.5.31 с InnoDB - все данные лежали, как вроде, по дефолту в /var/libm/mysql/ibdata (большой файл).

потом сервак мигрировали, на новом серваке Distrib 5.6.17, изменили конфиг так чтобы idb файлы были в каждой директории базы (innodb_file_per_table), а не одни большим файлом и заставили держать всё в памяти, так что БД зарезервировала себе около 24ГБ памяти. Импортировали дамп.

И полёт был нормальный, несколько дней, пока не заметели быстро растущий error.log c сообщениями типа

InnoDB: Error: Table «mysql».«innodb_table_stats» not found.
InnoDB: Error: Table «mysql».«innodb_table_stats» not found.
InnoDB: Error: Table «mysql».«innodb_table_stats» not found.
InnoDB: Recalculation of persistent statistics requested for table «main».«transactions» but the required persistent statistics storage is not present or is corrupted. Using transient stats instead.

С тех пор пошла эпопея по восстановлению, но не очень успешно.


так отключили бы persistent statistics, менять слишком много параметров за раз - плохо.

anonymous ()
Ответ на: комментарий от anonymous

Дело в том, что данные в базе побиты. Точнее они есть в ibd но frm файлы не верны.

Den0k ()
Ответ на: комментарий от Den0k

InnoDb сама хранит копию структур таблиц, можете попробовать сделать правильные frm из create table, которые в свою очередь генерируются с помощью утилиты из транка percona data recovery tools for innodb

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.