If you want quickly change database engine for all your database table, you can use this short script:
SET @DB_NAME = 'your database name';
SET @FROM_ENGINE = 'current engine name';
SET @TO_ENGINE = 'change to engine name';
SELECT CONCAT('ALTER TABLE `', table_name, '` ENGINE=', @TO_ENGINE ,';') AS sql_statements
FROM information_schema.tables AS tb
WHERE table_schema = @DB_NAME
AND `ENGINE` = @FROM_ENGINE
AND `TABLE_TYPE` = 'BASE TABLE'
ORDER BY table_name DESC;where @DB_NAME, @FROM_ENGINE, @TO_ENGINE are variables. You should set your values to this variables.
For example, you want change engine from MyISAM, to InnoDB in database MegaDB:
SET @DB_NAME = 'MegaDB'; SET @FROM_ENGINE = 'MyISAM'; SET @TO_ENGINE = 'InnoDB';
As a result, you get another list of queries. Example:
ALTER TABLE `User` ENGINE=InnoDB; ALTER TABLE `Tag` ENGINE=InnoDB; ALTER TABLE `Article_Tag` ENGINE=InnoDB; ALTER TABLE `Article` ENGINE=InnoDB;
And finally, just run these queries too ;)