Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

We have a MySQL 5.1.59 server that has 30-40 existing MyISAM databases. I need to deploy an application that requires InnoDB databases.

Can I just enable/configure InnoDB in /etc/my.cnf and restart MySQL, or is there more to this than meets the eye?

I should add that this is a MySQL environment built from source (running on CentOS 5.5 x64) and we plan to use the InnoDB plugin rather than the built-in InnoDB capability.

The plan is to follow steps as described on this page:

We also want to use innodb_file_per_table.

Apart from tuning parameters such as pool sizes and so on, is there anything else I should take into consideration?

share|improve this question
Are you planning to convert all MyISAM tables to InnoDB ??? – RolandoMySQLDBA Aug 8 '12 at 17:31
@RolandoMySQLDBA - No plans to do that, they can stay as MyISAM tables. – Kev Aug 8 '12 at 17:43
up vote 3 down vote accepted

InnoDB should already available. You can check with

mysql> show engines;
| Engine             | Support | Comment                                                        | Transactions | XA   | Savepoints |
| InnoDB             | DEFAULT | Supports transactions, row-level locking, and foreign keys     | YES          | YES  | YES        |
| CSV                | YES     | CSV storage engine                                             | NO           | NO   | NO         |
| MyISAM             | YES     | MyISAM storage engine                                          | NO           | NO   | NO         |
| BLACKHOLE          | YES     | /dev/null storage engine (anything you write to it disappears) | NO           | NO   | NO         |
| MRG_MYISAM         | YES     | Collection of identical MyISAM tables                          | NO           | NO   | NO         |
| MEMORY             | YES     | Hash based, stored in memory, useful for temporary tables      | NO           | NO   | NO         |
| ARCHIVE            | YES     | Archive storage engine                                         | NO           | NO   | NO         |
| PERFORMANCE_SCHEMA | YES     | Performance Schema                                             | NO           | NO   | NO         |
| FEDERATED          | NO      | Federated MySQL storage engine                                 | NULL         | NULL | NULL       |
9 rows in set (0.00 sec)


mysql> show variables like 'have_innodb';
| Variable_name | Value |
| have_innodb   | YES   |
1 row in set (0.00 sec)


Make sure skip-innodb is not in /etc/my.cnf

Since you are using the InnoDB Plugin, you need to activate new features to greatly enhance InnoDB Performance. For example, did you know there are new options for making InnoDB use multiple CPUs? See my past posts on this:

This is important because there are occasions when InnoDB in older versions of MySQL is faster than newer versions. I wrote about this as well:

Additional Reference from MySQL Performance Blog :

share|improve this answer
This particular MySQL server was built from source and the built-in InnoDB wasn't compiled in. When I executed SHOW ENGINES; InnoDB wasn't listed and skip-innodb wasn't in the server's my.cnf file. However since asking the question I've now got the plugin version installed and running and so far so good. – Kev Aug 8 '12 at 18:01
What version of MySQL ??? Please run SELECT VERSION(); – RolandoMySQLDBA Aug 8 '12 at 18:11
Is it above MySQL 5.1.38 ??? – RolandoMySQLDBA Aug 8 '12 at 18:14
Sorry, 5.1.59 to be precise. – Kev Aug 8 '12 at 18:14

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.