Внутри mysql вы можете использовать поиск / замену с помощью текстового редактора:
SELECT table_schema, table_name FROM INFORMATION_SCHEMA.TABLES WHERE engine = 'myisam';
Примечание: вы, вероятно, должны игнорировать information_schema и mysql, потому что «Базы данных mysql и information_schema, которые реализуют некоторые из внутренних компонентов MySQL, все еще используют MyISAM. В частности, вы не можете переключить таблицы предоставления для использования InnoDB». (http://dev.mysql.com/doc/refman/5.5/en/innodb-default-se.html)
В любом случае обратите внимание на таблицы, которые следует игнорировать и запустить:
SELECT table_name FROM INFORMATION_SCHEMA.TABLES WHERE engine = 'myisam';
Теперь просто скопируйте / вставьте этот список в ваш текстовый редактор и найдите / замените "|" с «ALTER TABLE» и т. д.
Затем у вас будет такой список, который вы можете просто вставить в свой терминал mysql:
ALTER TABLE arth_commentmeta ENGINE=Innodb;
ALTER TABLE arth_comments ENGINE=Innodb;
ALTER TABLE arth_links ENGINE=Innodb;
ALTER TABLE arth_options ENGINE=Innodb;
ALTER TABLE arth_postmeta ENGINE=Innodb;
ALTER TABLE arth_posts ENGINE=Innodb;
ALTER TABLE arth_term_relationships ENGINE=Innodb;
ALTER TABLE arth_term_taxonomy ENGINE=Innodb;
ALTER TABLE arth_terms ENGINE=Innodb;
ALTER TABLE arth_usermeta ENGINE=Innodb;
Если ваш текстовый редактор не может сделать это легко, вот другое решение для получения аналогичного списка (который вы можете вставить в mysql) только для одного префикса вашей базы данных из терминала linux:
mysql -u [username] -p[password] -B -N -e 'show tables like "arth_%"' [database name] | xargs -I '{}' echo "ALTER TABLE {} ENGINE=INNODB;"