==== Storage Engines - InnoDB/myISAM ==== mysql > 5.5 the default is INNODB \\ mysql < 5.5 the default engine is MyISAM \\ \\ Before we convert tables we can first view the table engine with: \\ **Note**: Change 'db_name' to your database SELECT TABLE_NAME, ENGINE FROM information_schema.TABLES where TABLE_SCHEMA = 'db_engine'; Now we have viewed the table engine we can go ahead and convert the tables. \\ \\ Example: Changing MyISAM tables to InnoDB \\ \\ **Note**: Change 'db_name' to the database you wish to change the engine of SET @DATABASE_NAME = 'db_name'; 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; An example of this being run is: mysql> SET @DATABASE_NAME = 'table_engine'; Query OK, 0 rows affected (0.00 sec) mysql> mysql> 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; +-----------------------------------------------------+ | sql_statements | +-----------------------------------------------------+ | ALTER TABLE `wp_users` ENGINE=InnoDB; | | ALTER TABLE `wp_usermeta` ENGINE=InnoDB; | | ALTER TABLE `wp_term_taxonomy` ENGINE=InnoDB; | | ALTER TABLE `wp_term_relationships` ENGINE=InnoDB; | | ALTER TABLE `wp_terms` ENGINE=InnoDB; | | ALTER TABLE `wp_posts` ENGINE=InnoDB; | | ALTER TABLE `wp_postmeta` ENGINE=InnoDB; | | ALTER TABLE `wp_popularpostssummary` ENGINE=InnoDB; | | ALTER TABLE `wp_popularpostsdata` ENGINE=InnoDB; | | ALTER TABLE `wp_options` ENGINE=InnoDB; | | ALTER TABLE `wp_links` ENGINE=InnoDB; | | ALTER TABLE `wp_comments` ENGINE=InnoDB; | +-----------------------------------------------------+ 12 rows in set (0.00 sec)