Как сконвертировать все таблицы в базе MySQL в InnoDB
Сначала выполните следующий запрос, указав название нужной базы данных, для генерации SQL для конвертации:
SET @DATABASE_NAME = ‘name_of_your_db’;
SELECT CONCAT(‘ALTER TABLE `’, table_name, ‘` ENGINE=InnoDB;’) AS sql_statements
FROM information_schema.tables AS tb
WHERE table_schema = @DATABASE_NAME
AND `ENGINE` = ‘MyISAM’
AND `TABLE_TYPE` = ‘BASE TABLE’
ORDER BY table_name DESC;
Затем скопируйте и запустите получившийся код. В результате все MyISAM таблицы в базе будут сконвертированы в InnoDB.