InnoDB almacena todas las tablas en un archivo grande ibdata1
.
Después de soltar una tabla grande, el archivo mantiene su tamaño sin importar cuán grande sea la tabla. ¿Cómo puedo reducir ese archivo sin tener que volcar y volver a importar toda la base de datos (que tiene varios Cien GB en total)?
Creo que la razón es porque todavía puede revertir la caída. En mi caso no necesito hacerlo.
fuente
InnoDB solo almacena todas sus tablas de InnoDB en ibdata1 si no utiliza la siguiente configuración en su archivo predeterminado my.cnf:
DROP TABLE (y DROP DATABASE) no se puede revertir.
Esa no es la razón por la que no puede reducir ibdata1.
Esta es una explicación abreviada, pero ibdata1 contiene elementos internos de InnoDB además de los datos de su tabla. Según tengo entendido, reducirlo requeriría desfragmentarlo, lo que no es una operación compatible.
fuente