Velikost souboru tabulkových prostorů InnoDB se nikdy automaticky nezmenší, bez ohledu na to, kolik dat smažete.
Co byste mohli udělat, ačkoli je to hodně úsilí, je vytvořit jeden tabulkový prostor pro každý stůl nastavením
innodb_file_per_table
Dlouhá část o tom je, že musíte exportovat VŠECHNA DATA ze serveru mysql (nastavení nového serveru by bylo jednodušší) a poté data znovu importovat. Místo jednoho jediného souboru ibdata1, který obsahuje data pro každou tabulku, najdete spoustu souborů s názvem tablename.ibd
které obsahují data pouze pro jednu jedinou tabulku.
Poté:
Když poté odstraníte mnoho dat z tabulek, můžete nechat mysql znovu vytvořit datový soubor vydáním
alter table <tablename> engine=myisam;
přepnout na MyIsam (a nechat odstranit datový soubor InnoDB pro tuto tabulku) a poté
alter table <tablename> engine=innodb;
znovu vytvořit stůl.