Innodb IS default engine, but can't install. Error message is Unable to create InnoDB tables. MySQL InnoDB support is required for CiviCRM but is either not available or not enabled in this MySQL database server.

I've checked my.conf and made sure that InnoDB is the default engine. The drupal database is in Innodb. I've gone through memory allocations and settings. I've been trying to install civicrm on drupal6 for three days! I've used drupal6 and civicrm for another client for more than a decade! But, now, on this new install, I can't get it to work.

I have tried MANY different versions of CivicRM and they all hang at this same error message. What do I troubleshoot next? Anyone else have this problem?

  • Does your DB user have the appropriate permissions? Just establishing that so we can rule it out. :) Feb 7, 2016 at 4:02

1 Answer 1


As it turns out, this appeared to be a file ownership problem (at least for me) and after changing the ownership to the appropriate account, I was able to continue. I'm not sure why the error message was like that ... everything else was set correctly ... and I wish the error message was more clear. But if anyone else is searching on this topic, it's worth a shot to make sure that every file in the civicrm directory has the same user. If not, chown with recursion.

I had some files with the account username and some with root. My bad.

Thanks to the commenter above for your willingness to help!

  • Did you have to change the permissions also? All my files are set to the same user but I am getting this same error.
    – Teegan
    Aug 28, 2017 at 7:34
  • I don't remember having to do anything except chown. However, I think chmod was set correctly to begin with. What permissions do you have set? If you let me know, I'll go check them against my install. ;) Aug 29, 2017 at 1:11
  • My directories are 775 and the files are 664 within the civicrm directory.
    – Teegan
    Aug 29, 2017 at 1:24
  • Does your database user have the appropriate permissions? Should be a super user with all privileges. I have had trouble in the past with setting this up in phpmyadmin .... If I use the one checkbox to give a user all privileges, it doesn't always work and I have to go through and tick all the checkboxes individually. Aug 29, 2017 at 17:59
  • 1
    I fixed the issue and I believe it was a MySQL version issue as the variable being used to check if InnoDB was working has been deprecated. So for me I just needed it to work locally I just commented out the check. Thanks for the help.
    – Teegan
    Aug 30, 2017 at 6:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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