Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

MySQL 5.6.10 InnoDB não pode criar tabela porque a tabela já existe


As informações sobre uma tabela são armazenadas em dois lugares:
  1. Arquivo table.frm em todo o servidor
  2. Dicionário InnoDB específico do mecanismo de armazenamento

Esses dois devem estar em sincronia, mas não há mecanismo confiável para impor essa consistência. Devido a vários motivos, o dicionário InnoDB fica fora de sincronia.

No seu caso, há um registro órfão no dicionário. Você precisa excluí-lo.

O InnoDB não fornece nenhuma maneira de modificar manualmente os registros do dicionário. Mas você pode criar um arquivo table.frm falso (se innodb_file_per_table=ON então table.ibd também), coloque-o no diretório do banco de dados e solte a tabela.

Versões antigas do InnoDB podem reclamar de incompatibilidade de SPACENO. Em seguida, verifique como corrigir o dicionário InnoDB