Die Dateigröße von InnoDB-Tablespaces wird niemals automatisch reduziert, egal wie viele Daten Sie löschen.
Was Sie tun könnten, obwohl es viel Aufwand ist, ist, einen Tablespace für jede Tabelle zu erstellen, indem Sie
setzeninnodb_file_per_table
Der lange Teil dabei ist, dass Sie ALLE DATEN vom MySQL-Server exportieren müssen (das Einrichten eines neuen Servers wäre einfacher) und die Daten dann erneut importieren müssen. Anstelle einer einzigen ibdata1-Datei, die die Daten für jede einzelne Tabelle enthält, finden Sie viele Dateien namens tablename.ibd
die die Daten nur für eine einzige Tabelle enthalten.
Danach:
Wenn Sie dann viele Daten aus Tabellen löschen, können Sie mysql die Datendatei neu erstellen lassen, indem Sie
ausgebenalter table <tablename> engine=myisam;
zu MyIsam wechseln (und die InnoDB-Datendatei für diese Tabelle löschen lassen) und dann
alter table <tablename> engine=innodb;
um die Tabelle neu zu erstellen.