InnoDB defined as an unknown table engine

Still need help?

The Atlassian Community is here for you.

Ask the community

This Knowledge Base article was written specifically for the Atlassian Server platform. Due to the Functional differences in Atlassian Cloud, the contents of this article cannot be applied to Atlassian Cloud applications.

Problem

If InnoDB is not set for the MySQL database server, the following appears in the logs:

Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown table engine 'InnoDB'

Cause

The parameter skip-innodb may have been disabled in the MySQL configuration file. Starting from JIRA 4.3 and above, the InnoDB storage engine would have to be set as MySQL's default storage engine as to avoid data corruption (see JRA-24124)

Resolution

  1. Check to see whether you have InnoDB support enabled:

    mysql> show variables like 'have_innodb';
    +---------------+-------+
    | Variable_name | Value |
    +---------------+-------+
    | have_innodb   | YES   |
    +---------------+-------+
    1 row in set (0.00 sec)
    
  2. If the value above is DISABLED, then you would need to enable InnoDB.
  3. Open up MySQL's configuration file. On various platforms, the configuration file may differ in file name and location:
    • Windows: $MYSQL_INSTALL_DIRECTORY/my.ini
    • Linux/Unix: /etc/mysql/my.cnf
  4. If the parameter skip-innodbis uncommented/exists, then just comment it out:

    # skip-innodb
    
  5. Shutdown MySQL server, delete/rename the MySQL logs to refresh the entire server's logging, and restart MySQL server:
    • Linux:

      ~$: /etc/init.d/mysql stop
      ~$: rm /var/lib/mysql/ib_logfile*
      ~$: /etc/init.d/mysql start
      
    • Windows:
      Go to $MYSQL_INSTALL_DIRECTORY/data and either delete/move the log files with the prefix ib_logfile.

Last modified on Mar 30, 2016

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.