sql >> Base de Datos >  >> RDS >> Mysql

MySQL 5.6.10 InnoDB no puede crear una tabla porque la tabla ya existe

La información sobre una tabla se almacena en dos lugares:

  1. Archivo table.frm para todo el servidor
  2. Diccionario InnoDB específico del motor de almacenamiento

Estos dos deben estar sincronizados, pero no existe un mecanismo confiable para hacer cumplir esta consistencia. Debido a varias razones, el diccionario InnoDB no está sincronizado.

En tu caso hay un registro huérfano en el diccionario. Tienes que borrarlo.

InnoDB no proporciona ninguna forma de modificar manualmente los registros del diccionario. Pero puede crear archivos falsos table.frm (si innodb_file_per_table=ON entonces también table.ibd), colocarlos en el directorio de la base de datos y soltar la tabla.

Las versiones antiguas de InnoDB pueden quejarse de la falta de coincidencia de SPACENO. Luego verifique cómo arreglar el diccionario InnoDB