Migrating from HSQLDB to MySQL

If you've gone through Migrating to Another Database and cannot migrate because of a failed xml backup, this page might help.


MySQL Migration Toolkit is released by the makers of MySQL and as such, problems with the software should be directed to them. Atlassian Support does not offer support for the Migration Toolkit, nor do we provide support for this migration path. These instructions are offered for strictly informational purposes, and your mileage may vary.

Backup Reminder

Please backup your database and your home folder before attempting this.

(warning) The information on this page does not apply to Confluence Cloud.

Resources needed

  • Empty MySQL DB with appropriate credentials to allow creation, deletion, and insertion of tables and rows.
  • A Windows machine that can both communicate to the Confluence server and the destination DB.
  • MySQL Migration Toolkit
  • HSQL Database Engine

Preparation for migrating to MySQL from HSQLDB

  1. Shutdown Confluence
  2. Make a copy of the confluence home folder for backup purposes
  3. Install the Migration Toolkit
  4. Unzip the hsqldb package.
  5. Copy the hsqldb.jar from hsqldb/lib into C:\Program Files\MySQL\MySQL Tools for 5.0\java\lib
  6. Start the MySQL Migration Toolkit

Running the Migration Toolkit

You should be presented with the following screen.

Choose Direct Migration

Source Database

Database System:

Generic JDBC

Connection String:






No password. Leave this field blank

Destination Database

Please make sure that the computer that is running MySQL Toolkit is able to access the MySQL server and that the user listed has the ability to create, drop, insert, and update tables.

If your MySQL user has a $ character in the password (such as 'pa$sword'), please change the password or create a temporary account with full permissions. If you do not, the toolkit will throw an "Illegal group reference" error and you will not be able to proceed with the migration.

Connecting to Servers

You should see the toolkit trying to connect. If you have problems, please click on the advanced options and sql will show you debugging information. Click Advanced to see the log. If you see "Java Heap Space: Out of Memory", you can start the MySQL Migration Toolkit with a -Xmx flag to allocate more memory to the JVM.

After this screen you should come to reverse engineering. Click next.

Source Schemata Selection

You should see 2 databases, INFORMATION_SCHEMA and PUBLIC. Choose PUBLIC

Object Type Selection

Click Next.

Object Type Mapping

Click Show Details on both sections. For Migration Method for Type Schema, choose Multilanguage. For Migration Method for Type Table, choose Data Consistancy/Multilanguage

Click Advanced. Check Enabled Detailed Mappings in Next Step

Detailed Object Mapping

Click to rename the destination database to be the one set aside to migrate to.

From this point on, you should be able to click next all the way through to finish the migration.

Was this helpful?

Thanks for your feedback!

Why was this unhelpful?

Have a question about this article?

See questions about this article

Powered by Confluence and Scroll Viewport