Table XXX is marked as crashed and should be repaired

12
bondarev.pp.ru
На сайте с 29.09.2005
Offline
202
8520

Возникла проблема с очень важной для меня табличкой в MySQL. В ней хранятся позиции подшефных сайтов за полтора года, вместе с позициями конкурентов. Табличка огромная - около 700 метров только данные, плюс 500 индекс (там безумное количество строк, поскольку это только численные данные - ID сайта, ID запроса, ID поисковика, номер позиции и дата в timesamp). Когда проектировал БД, не знал, что проектов будет так много и таблица так сильно разрастется.

Запросы к таблице, естесственно, сильно тормозили, я все собирался почистить из нее старые ненужные данные, но ленился. И вот она совсем перестала работать :(

Любой запрос к таблице сейчас возвращает "Table XXX is marked as crashed and should be repaired". REPAIR TABLE XXX не помогает - отвечает "Table is already up to date", но ничего не меняется.

Как можно спасти данные?

bondarevpipes.com (http://ru.bondarevpipes.com/)
Lupus
На сайте с 02.11.2002
Offline
241
#1
bondarev.pp.ru:
Как можно спасти данные?

Если таблица MyISAM, - man myisamchk

Но сначала скопируйте файлы базы в другую папочку. На всякий случай.

There are two types of people in this world: 1. Those who can extrapolate from incomplete data.
N
На сайте с 11.08.2004
Offline
176
#2

Попробуйте http://phpclub.ru/mysql/doc/repair-table.html

Или обратится к хостеру с просьбой о востановлении из бекапа!

A0
На сайте с 22.09.2007
Offline
70
#3

Не увидел, что REPAIR не помогает.

У вас лимит дискового пространства под БД не закончился? Спросите у хостинга. Если закончился - попробуйте увеличить и потом REPAIR.

REPAIR EXTENDED пробовали?

LineHost
На сайте с 20.01.2007
Offline
339
#4

Проанализируйте логи MySQL. Часто помогает...

SERV.LT - Стабильные услуги хостинга, KVM VPS в Литве, Франции. (https://www.serv.lt/ru/vps/kvm/) Недорогие выделенные серверы (https://www.serv.lt/ru/dedicated-lt/) в Литве.
bondarev.pp.ru
На сайте с 29.09.2005
Offline
202
#5

Спасибо, буду пробовать.

an0nym:
У вас лимит дискового пространства под БД не закончился? Спросите у хостинга. Если закончился - попробуйте увеличить и потом REPAIR.

В этом и была проблема изначально. Как-то необычно разбит диск - /var/ всего 1.4 Гб

Я уже расчистил местечко, но это не помогло.

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

an0nym:
REPAIR EXTENDED пробовали?

Да.

A0
На сайте с 22.09.2007
Offline
70
#6

А myisamchk --recover и --safe-recover что пишет?

bondarev.pp.ru
На сайте с 29.09.2005
Offline
202
#7

Спасибо! myisamchk -r помог

LiteCat
На сайте с 03.05.2007
Offline
236
#8

В MySQL с движком MYISAM чаще всего повреждаются индексы (MYI) а не данные (MYD). Поэтому как правило данные остаются целыми:) майисамчек потому помогает полностью

[Удален]
#9
bondarev.pp.ru:
Спасибо, буду пробовать.
В этом и была проблема изначально. Как-то необычно разбит диск - /var/ всего 1.4 Гб
Я уже расчистил местечко, но это не помогло.

У самого была похожая проблема, ломались таблицы, так как 5Гб на варе не хватало. Перенес все на /usr и сделал ссылку. Решение за пару минут.

Andreyka
На сайте с 19.02.2005
Offline
822
#10

Может имеет смысл разделить мегатаблицу на части?

Не стоит плодить сущности без необходимости
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий