MySQL InnoDB helyreállítás

Sziasztok,

Egy adatbázis táblát szeretnék helyreállítani IDB állományból (innodb_per_table). A MySQL leírás szerint a következő lépésekkel működnie kellene:

LOCK TABLES auth_user WRITE;
ALTER TABLE auth_user DISCARD TABLESPACE;
# Régi IDB kiterjesztésű fájl másolása a megfelelő helyre
ALTER TABLE auth_user IMPORT TABLESPACE;
UNLOCK TABLES;

A gondom az, hogy az IMPORT TABLESPACE parancs kiadásakor a következő hibát kapom:

InnoDB: MySQL is trying to use a table handle but the .ibd file for
InnoDB: table adatbazis/auth_user does not exist.
InnoDB: Have you deleted the .ibd file from the database directory under
InnoDB: the MySQL datadir, or have you used DISCARD TABLESPACE?
InnoDB: Look from
http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting.html
InnoDB: how you can resolve the problem.
120406 14:11:57 [ERROR] Got error -1 when reading table './adatbazis/auth_user'
120406 14:11:57 InnoDB: cannot calculate statistics for table adatbazis/auth_user
because the .ibd file is missing. For help, please refer to
InnoDB: http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting.html

Annak ellenére, hogy a fájl a helyén van, és a jogok is megfelelőek. Találkozott már valaki ilyen hibával?

Előre is köszönöm!

Hozzászólások

Annyit már kiderítettem, hogy a tablespace id nem stimmel. Már csak ezt kellene átírni a megfelelő idb fájlban. :) Ötlet?

Ha tudod, mi a tablespace eredeti idje, akkor neki lehet allni csinalni egy ures adatbazist (uj instanceon), aztan kezdd el csinalni a tablakat egyesevel -ha jol remlik, akkor sorrendben fogja letrehozni a tablakat - , amikor a szobanforgo tablahoz ersz, akkor meg masold be, es mehet a mysqldump, amit majd betolthetsz az uj helyen