mirror of https://github.com/hykilpikonna/AquaDX
[+] Write mysql migration guide
parent
5748a11788
commit
0ae29b1920
|
@ -0,0 +1,71 @@
|
||||||
|
## 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.
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
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.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
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.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
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.
|
||||||
|
|
||||||
|
```shell
|
||||||
|
# Connect to your MariaDB server
|
||||||
|
mysql --user={username} --password={password} --host={host} --port={port} {database}
|
||||||
|
```
|
||||||
|
|
||||||
|
Run the following SQL query to fix the checksum.
|
||||||
|
|
||||||
|
```sql
|
||||||
|
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.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue