These are some quick changes to make your elgg work a little better (using with 1.7.1 but should work will all recent versions without issue.)
Log into your phpmyadmin and go to the Elgg database and run this SQL:
ALTER TABLE `elggannotations` ENGINE=InnoDB;
ALTER TABLE `elggentities` ENGINE=InnoDB;
ALTER TABLE `elggentity_relationships` ENGINE=InnoDB;
ALTER TABLE `elggmetadata` ENGINE=InnoDB;
ALTER TABLE `elggmetastrings` ENGINE=InnoDB;
ALTER TABLE `elggusers_sessions` ENGINE=InnoDB;
Run the following from a cronjob like such (replace [password] with your mysql root password:
crontab -e
0 1 * * * mysqlcheck -Aao --auto-repair -u root -p[password] > /dev/null *ctrl-x, y, enter to save*
NOTE: If you just want to check and optimize certain databases or certain tables instead do, use the following syntax:
mysqlcheck [options] db_name [tables]
mysqlcheck [options] –databases DB1 [DB2 DB3...]
/etc/mysql/my.cnf
# innodb_buffer_pool_size between 64M and 72M is a decent setting innodb_buffer_pool_size = 64M # set key_buffer to 1/2 of your total ram, this is a decent setting key_buffer = 400M
/etc/init.d/mysql restart Want to run this before you continue: