InnoDB defined as an unknown table engine
Platform Notice: Data Center Only - This article only applies to Atlassian products on the Data Center platform.
Note that this KB was created for the Data Center version of the product. Data Center KBs for non-Data-Center-specific features may also work for Server versions of the product, however they have not been tested. Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Except Fisheye and Crucible
Problem
If InnoDB is not set for the MySQL database server, the following appears in the logs:
1
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
Check to see whether you have InnoDB support enabled:
1 2 3 4 5 6 7
mysql> show variables like 'have_innodb'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | have_innodb | YES | +---------------+-------+ 1 row in set (0.00 sec)
If the value above is DISABLED, then you would need to enable InnoDB.
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
If the parameter
skip-innodb
is uncommented/exists, then just comment it out:1
# skip-innodb
Shutdown MySQL server, delete/rename the MySQL logs to refresh the entire server's logging, and restart MySQL server:
Linux:
1 2 3
~$: /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 prefixib_logfile
.
Was this helpful?