AquaDX/docs/mysql_to_mariadb.md

2.0 KiB

Migrating MySQL to MariaDB

Since AquaDX 1.0.0, MySQL will no longer be supported.

If you were using Aqua / AquaDX <= 0.0.47 with a MySQL database before this upgrade, please follow the instructions below to migrate your data to MariaDB.

1. Run a MariaDB Server

To migrate, you first need to run a MariaDB server using your preferred method. If you don't have a preference, we recommend running it using Docker Compose.

Below is an example docker-compose.yml configuration to run a MariaDB server.

version: '3.1'

services:
  mariadb:
    image: mariadb
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: example
      MYSQL_DATABASE: aqua
      MYSQL_USER: aqua
      MYSQL_PASSWORD: aqua
    ports:
      - '127.0.0.1:3306:3306'
    volumes:
      - ./db:/var/lib/mysql

2. Export Data from MySQL

Run the following command to export your data from MySQL. Please fill in the fields in the curly braces with your MySQL database details.

mysqldump --user={username} --password={password} --host={host} --port={port} {database} > aqua.sql

3. Import Data to MariaDB

Run the following command to import your data to MariaDB. Please fill in the fields in the curly braces with your MariaDB database details.

mysql --user={username} --password={password} --host={host} --port={port} {database} < aqua.sql

4. Fix Flyway Schema History

AquaDX uses Flyway to manage database schema migrations. Most migrations were identical, but one migration used different case for MySQL and MariaDB, so we need to fix its checksum.

# Connect to your MariaDB server
mysql --user={username} --password={password} --host={host} --port={port} {database}

Run the following SQL query to fix the checksum.

UPDATE main.flyway_schema_history t
SET t.checksum = 357127209
WHERE t.installed_rank = 144;

5. Update AquaDX Configuration

Finally, update your AquaDX configuration application.properties to use MariaDB instead of MySQL.