If I turn on
innodb_file_per_table (not currently active), will it destroy my existing tables?
No, but you will need to do a sql dump and re-load or alternatively an optimize table before existing tables will be moved into their own files.
Of course as with any large architectural changes, make sure to nab a good backup before implementing the changes.
|show 1 more comment|
Even when you switch to innodb_file_per_table, the InnoDB tables that are inside ibdata1 must be extracted from ibdata1. Unfortunately, you cannot reclaim that space back.
You must overhaul the InnoDB infrastructure in order for innodb_file_per_table to work for you. @BMDan already mentioned this in his comment.