Это однократная задача.
Использование
SELECT CONCAT(TABLE_SCHEMA, '.', TABLE_NAME) tablename
FROM INFORMATION_SCHEMA.TABLES
WHERE ENGINE = 'MyISAM'
AND TABLE_SCHEMA IN (databases names list);
Получить список таблиц, создать сценарий ALTERing и выполнить его вручную.
Это операция в форме хранимой процедуры. НЕ ИСПЫТАНО !!!
CREATE PROCEDURE alter_engines ()
BEGIN
DECLARE done INT DEFAULT FALSE;
DECLARE cur CURSOR FOR
SELECT CONCAT('ALTER TABLE ' , TABLE_SCHEMA, '.', TABLE_NAME, ' ENGINE = InnoDB;')
FROM INFORMATION_SCHEMA.TABLES
WHERE ENGINE = 'MyISAM'
/* do not forget */
AND TABLE_SCHEMA IN (databases names list);
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
OPEN cur;
alter_loop: LOOP
FETCH cur INTO @sql;
IF done THEN
LEAVE alter_loop;
END IF;
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
END LOOP;
CLOSE cur;
END;