Supondo que você tenha suas credenciais configuradas no seu my.cnf, um comando como este pode fazer o que você quiser.
mysql --batch --skip-column-names --execute \
'select concat("alter table ",TABLE_SCHEMA,".",TABLE_NAME," type=innodb;")
from information_schema.TABLES where TABLE_SCHEMA="database_name"' | mysql
É claro que substitua database_name pelo nome do seu banco de dados.
Quanto a você questão principal. Parece que você quer recuperar espaço depois de deixar suas tabelas innodb ficarem grandes. Como o bug disse, a única forma segura de lidar com isso é usar o mysqldump para exportar tudo. Exclua os arquivos e, em seguida, restaure.
Como esse artigo observa. Você pode ativar a opção innodb_file_per_table
para o my.cnf do seu servidor fará com que cada arquivo exista como um arquivo separado. Dessa forma, a recuperação de espaço pode ser feita excluindo / restaurando a tabela de problemas em vez de tudo.