MySQLSyntaxErrorException for OPTION SQL_SELECT_LIMIT=500 when using MySQL

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

MySQL database configuration setup fails and the following appears in the atlassian-bitbucket.log

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 The schema could not be created. com.atlassian.stash.internal.db.DefaultDatabaseManager.createSchema(DefaultDatabaseManager.java:341) com.atlassian.stash.internal.db.DefaultDatabaseManager.prepareDatabase(DefaultDatabaseManager.java:191) com.atlassian.stash.internal.maintenance.SpringMaintenanceTaskFactory.setupTask(SpringMaintenanceTaskFactory.java:151) ... Error creating bean with name 'liquibasePrototype' defined in class path resource [stash-context.xml]: Invocation of init method failed; nested exception is liquibase.exception.MigrationFailedException: Migration failed for change set liquibase/r3_2/upgrade.xml::STASHDEV-6754-2::jhinch: Reason: liquibase.exception.UnexpectedLiquibaseException: liquibase.exception.CustomChangeException: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'OPTION SQL_SELECT_LIMIT=500' at line 1 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1628) ... Migration failed for change set liquibase/r3_2/upgrade.xml::STASHDEV-6754-2::jhinch: Reason: liquibase.exception.UnexpectedLiquibaseException: liquibase.exception.CustomChangeException: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'OPTION SQL_SELECT_LIMIT=500' at line 1 liquibase.changelog.ChangeSet.execute(ChangeSet.java:619) ... ... error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'OPTION SQL_SELECT_LIMIT=500' at line 1 sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)

Cause

  • MySQL driver installed is relatively old.

Resolution

  1. Stop Bitbucket Server.

  2. Move the old mysql-connector-java-5.1.XX-bin.jar driver from <Bitbucket home directory>/lib to a backup location.

    1. Ensure that only 1 version of the driver file exists in the lib directory.

  3. Download the latest driver from http://dev.mysql.com/downloads/connector/j/ to <Bitbucket home directory>/lib.

  4. Start Bitbucket Server.

Updated on April 8, 2025

Still need help?

The Atlassian Community is here for you.