Ответ 1
Из http://dev.mysql.com/doc/refman/5.1/en/innodb-data-log-reconfiguration.html:
В настоящее время вы не можете удалить файл данных из табличного пространства. Чтобы уменьшить размер табличного пространства, используйте следующую процедуру:
Используйте mysqldump для удаления всех ваших таблиц InnoDB.
Остановить сервер.
Удалите все существующие файлы табличного пространства, включая файлы ibdata и ib_log. Если вы хотите сохранить резервную копию информации, скопируйте все файлы ib * в другое место перед удалением файлов в вашей установке MySQL.
Удалите любые файлы .frm для таблиц InnoDB.
Настройте новое табличное пространство.
Перезагрузите сервер.
Импортируйте файлы дампа.
Innodb создает файловую систему ( "табличное пространство" ) внутри самих файлов данных. Он никогда не "сжимает" файлы данных при удалении данных, поскольку реорганизация данных внутри файла может быть дорогостоящей (нет гарантии, что данные были удалены в конце или даже смежны). Восстанавливая базу данных, как описано выше, она делает файл максимально необходимым для всех данных, но не больше.