Ao tentar fazer o DUMP de uma base de dados MYSQL, aparece o erro: mysqldump: Got error: 1016: Can't open file: 'TABELA.InnoDB' (errno: 1) when using LOCK TABLES

De UltramaxWiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

-Causa

O arquivo TABELA.ibd informado foi apagado.


-Solução

Se não for uma tabela importante do banco de dados:

0. Apague, mova ou renomeie o arquivo c:\ultrapdv\data\ultrapdv\XXX.ibd e XXX.frm onde XXX é o arquivo que está com problema. Talvez seja necessário parar o MySQL para fazer isso.

1. dê um DROP TABLE

2. crie a tabela novamente com o CREATE TABLE... mas com o tipo MyISAM e não INNODB Observação: Ao criar a tabela poderá ser necessário trocar o nome das foreign keys e índices

3. Faça um dump do BD

4. Pare o mysql e MOVA todos os arquivos e pastas c:\ultrapdv\data\*.*, exceto a pasta MYSQL para c:\temp\bkp

5. inicie o MYSQL

6. Volte o dump

7. dê um DROP TABLE

8. Criei a tabela novamente com o tipo INNODB


Se for uma tabela importante, será necessário restaurar um backup

Também pode tentar apagar o arquivo .frm e criar a tabela novamente com o engine MyISAM. Depois faça um dump do banco de dados e restaure o Dump.


Mais informações: http://dev.mysql.com/doc/refman/5.0/en/innodb-troubleshooting-datadict.html