How to Optimize MySQL

IMPORTANT

  1. Always make full backups of all of your databases before making any changes to your my.cnf.
  2. Avoid changes to your InnoDB settings unless you are very familiar with making those changes.  Many of the InnoDB settings must remain the same else data corruption will occur with your InnoDB tables.  We do not recommend making any changes to your InnoDB settings, unless you do so before creating your databases.

CentOS

There is a default my.cnf that comes with mysql (4+5) that will make mysql run a bit quicker if you have 2+ gig of ram

cp -f /usr/share/mysql/my-large.cnf /etc/my.cnf

There is also my-huge.cnf, or my-medium.cnf depending on your hardware setup.   Check the contents of these my*.cnf files for the one that’s right for you.

*NOTE 1* the log-bin option is enabled by default.  This will quickly use a lot of disk space.  It’s recommended to comment out the log-bin line from your /etc/my.cnf, if it exists.

*NOTE 2* Take note of your old /etc/my.cnf file.  If you have innodb_file_per_table=1 make sure the new my.cnf you install also has this setting.  Similarly, if your old one does not have innodb_file_per_table=1 enabled, then your new my.cnf should also not have it enabled.   If the new my.cnf has a different setting for innodb_file_per_table, then it may corrupt your data.

Be sure to make full backups of your .sql files before doing any changes to your my.cnf.

By anup