Reduce InnoDB Table Space

I recently changed to a per-table file for InnoDB.

The problem now is I’m left over with a 70Gb old table space file which used to singularly hold the entire database.

Is there a way of reducing the size without harming the data?

I’ve tried moving the log files and old table space so that MySQL recreates them, but then the individual tables are lost via this process so I must revert to the old files.

I guess a full backup and re-insert will rectify the problem but that’s a process that takes more time than I want.


With innodb_file_per_table you still need the tablespace! html:

InnoDB always needs the shared tablespace because it puts its internal data dictionary and undo logs there. The .ibd files are not sufficient for InnoDB to operate.


You cant reduce the tablespace. Go for dumping and reinstalling:-)

I understand the central table space needs to exist, but being 75Gb means it contains all of the old data which is now in separate files.

I did do a backup etc. now the default table space is 50Mb.