LINUX.ORG.RU

Как лучше восстановить таблицу MySQL?


0

1

У меня хостинг от Hertzner с 20 гигами на винте, папочка /var/lib/mysql/table_name занимает 7 гигов, а 4 гига свободно. Намедни грохнулась таблица MyISAM на пару гигов. Теперь мой сайт выдает ошибку

Table './db_name/table_name' is marked as crashed and last (automatic?) repair failed
Когда пытаюсь восстановить таблицу из командной строки mysql, думает полчаса, процессор загружен на 100%, и выдаёт ошибку, мол не хватает места. Свободно у меня 4 гига, а мускулу не хватает. Пытался запускать команду
myisamchk --recover --quick table_name.MYI
Я её запустил в бекграунде и следил, сколько места расходуется. Тоже сжирает всё свободное место и дохнет.

В итоге у меня сейчас на руках дамп базы размером 3 гига, причем когда импортирую его, таблица table_name остается битая. Товарищи, подскажите, может стоит удалить папку /var/lib/mysql/table_name и импортировать дамп базы? От этого что-нибудь пострадает, кроме кеша? И может сразу в дампе прописать engine как InnoDB, она вроде неубиваемая?

Ответ на: комментарий от dreamer

Я вот тоже думаю слить к себе на локалхост. Но любопытно, что будет, если переместить папку /var/lib/mysql/table_name и импортнуть дамп заново. Щас попробую, о результатах отпишу.

liberium
() автор топика
Ответ на: комментарий от r_asian

Нет, не останавливаю. Я знаю, что надо останавливать, если используется команда myisamchk, но в базу ничего не пишется, поэтому я считаю, что можно не останавливать.

liberium
() автор топика
Ответ на: комментарий от dreamer

Я восстановил базу из дампа, удалив папку /var/lib/mysql/table_name. Теперь надо сконвертировать таблицы c engine=InnoDB.

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