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
Ir para navegação Ir para pesquisar

-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