Convert database engine: MyISAM to InnoDB

Requirements:

  • ELGG 2.x
  • MySQL 5.6.4 (or above)

#1. Open database in phpMyAdmin.

#2. Select tab SQL, insert:

ALTER TABLE prefix_access_collections ENGINE=InnoDB;
ALTER TABLE prefix_access_collection_membership ENGINE=InnoDB;
ALTER TABLE prefix_annotations ENGINE=InnoDB;
ALTER TABLE prefix_api_users ENGINE=InnoDB;
ALTER TABLE prefix_config ENGINE=InnoDB;
ALTER TABLE prefix_datalists ENGINE=InnoDB;
ALTER TABLE prefix_entities ENGINE=InnoDB;
ALTER TABLE prefix_entity_relationships ENGINE=InnoDB;
ALTER TABLE prefix_entity_subtypes ENGINE=InnoDB;
ALTER TABLE prefix_groups_entity ENGINE=InnoDB;
ALTER TABLE prefix_metadata ENGINE=InnoDB;
ALTER TABLE prefix_metastrings ENGINE=InnoDB;
ALTER TABLE prefix_objects_entity ENGINE=InnoDB;
ALTER TABLE prefix_private_settings ENGINE=InnoDB;
ALTER TABLE prefix_queue ENGINE=InnoDB;
ALTER TABLE prefix_river ENGINE=InnoDB;
ALTER TABLE prefix_sites_entity ENGINE=InnoDB;
ALTER TABLE prefix_system_log ENGINE=InnoDB;
ALTER TABLE prefix_users_entity ENGINE=InnoDB;
ALTER TABLE prefix_users_remember_me_cookies ENGINE=InnoDB;
ALTER TABLE prefix_users_sessions ENGINE=InnoDB;
  • prefix_ is prefix of your database tables.

#3. Open my.cnf, insert:

innodb_optimize_fulltext_only = 1

It enables full-text search for InnoDB.