Can't find file: 'tbl_name' (errno: 2)

12
K
На сайте с 12.07.2006
Offline
295
Kpd
2137

Делал optimize table большой таблицы mysql (myisam), хз что произошло но в результате таблица стала недоступна, Can't find file: 'tbl_name' (errno: 2). Как восстановить таблицу?

A4
На сайте с 09.08.2007
Offline
55
#1

Из бекапа? :)

Если Can't find file, то пациент скорее мёртв, чем жив..

Настройка nginx и сопутствующего софта на freebsd/debian. Контакт через PM.
K
На сайте с 12.07.2006
Offline
295
Kpd
#2

Бэкап есть, но суточной давности :(

Есть файлы .MYD и frm, не хватает толкьо MYI. Что-нибудь можно сделать?

upd. Нашёл что может помочь myisamcheck, но тупо не могу найти его синтаксис, вообще как его использовать?

A4
На сайте с 09.08.2007
Offline
55
#3

MYI это индексы. Можно попробовать ещё раз сделать репеир или ручками перестроить их.

K
На сайте с 12.07.2006
Offline
295
Kpd
#4

а если заново создатьтаблицу и потом скопировать на место файл MYD?

dex
На сайте с 14.04.2006
Offline
231
dex
#5

myisamcheck -r reference.MYI

и заново optimize

губит людей вода (подпись не продаю, в долг не даю)
K
На сайте с 12.07.2006
Offline
295
Kpd
#6

dex, это я тоже нагуглил, но как его запустить? запускаю в ssh, нет такой команды, запускаю в mysql - ругается на синтаксис.

A4
На сайте с 09.08.2007
Offline
55
#7

myisamchk ?

dex
На сайте с 14.04.2006
Offline
231
dex
#8

:)

у Вас ОС - freebsd?

и, кстати, какой команды-то нет? (в ссаш - попробуйте без параметров)

myisamcheck или в ней параметра?

K
На сайте с 12.07.2006
Offline
295
Kpd
#9

Решил проблему. Скопировал myd и frm в другую папку, заново создал таблицу, вернул файлы обратно и сделал repair , вроде бы всё работает

у Вас ОС - freebsd вообще?

Она. Но

# myisamchk
myisamchk: Command not found.

Или всё-таки в mysql его выполнять? (экспериментировать не буду, лучшее враг хорошего :))

A4
На сайте с 09.08.2007
Offline
55
#10

Анепофик?) Оно с мускулом идёт, а не с базовой системой.

12

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