> > but you don't know __when__ innodb_file_per_table was set! > > So it's possible that many innodb tables actually reside in ibdata > > [1-4]. > > Check your data directory to see the individual innodb files/tables > > (*.ibd). > > This is true, and even on a fresh install that has always had > innodb_file_per_table, InnoDB still needs the shared > tablespace (though it probably doesn't need to be that > large). Once you have an InnoDB tablespace the only way to > reduce the size of the shared tablespace is to completely > dump the data and recreate the tablespace. Roughly the sequence is: > > mysqldump to text...be very careful to keep a consistent > snapshot, handle blobs, quoting names, etc.... Test this. > Shut down mysql > Rename/move old mysql data and log directories, create new, > empty ones (copy over > mysql database...it's not innodb and will keep the same > users) Alter my.cnf, point to include new InnoDB shared table > definition Start mysql, make sure InnoDB initializes > correctly (check .err file) Read in dump file you took in step 1 > > Again, be careful with this. It essentially involves > exporting and importing all your data, so make sure you have > a valid export file. > > Good luck, > Ware >
Thanks for the response. I routinely "mysqldump --host=source | mysql --host=target" for backup purposes, and then compare the row counts to see that the restore acutally completed, so I think I've got a good handle on making a clean copy of the data. In fact, I re-configured the my.cnf on the backup server, and I see that the directory size went from 58G to 45G, so there was a nice space savings. Thanks for the advice. Regards, Rich -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]