Innodb switch innodb_file_per_table to OFF
What version are you using?  What makes you say it "doesn't work"?

Please note that ibdata1 will not shrink during the process.  Only a dump and restore can fix that -- with a deletion of the ibdata1 file in the middle.  But note...  Unless you tweak the dump, the load will be all-or-none (file_per_table or not).

I recommend changing only "large" files (over a few MB) to file_per_table.  Why?  With "tiny" tables, there is overhead of opening the .ibd files that, though small, might cancel out the benefits of file_per_table.

The 80-20 rule says that 20% of your tables take 80% of the disk space.  So another way to pick "large" is to pick the largest 20% of the tables.

In the future (version 8.0), I am looking toward tablespace-per-database as minor recommendation for tiny tables.