From 7739845b4e9459b47025f4dc768acd2422365f44 Mon Sep 17 00:00:00 2001 From: WildEgo Date: Wed, 18 Jun 2025 22:50:51 +0100 Subject: [PATCH] change: MariaDB migration. --- .env.example | 15 ++++++--------- assets/db-init/create-databases.sql | 6 +----- docker-compose.yml | 28 ++++++++++++++++++---------- 3 files changed, 25 insertions(+), 24 deletions(-) diff --git a/.env.example b/.env.example index 4b54192..594b818 100644 --- a/.env.example +++ b/.env.example @@ -7,15 +7,12 @@ WEB_IMAGE=git.old-metin2.com/metin2/web:latest ################################################################################ # MySQL settings ################################################################################ -MYSQL_HOST=mysql -MYSQL_USER=root -MYSQL_PASSWORD=metin2 -MYSQL_PORT=3306 -MYSQL_EXTERNAL_PORT=3306 -MYSQL_DB_ACCOUNT=account -MYSQL_DB_PLAYER=player -MYSQL_DB_COMMON=common -MYSQL_DB_LOG=log +MARIADB_HOST=mysql +MARIADB_USER=root +MARIADB_PASSWORD=metin2 +MARIADB_PORT=3306 +MARIADB_EXTERNAL_PORT=3306 +MARIADB_DB=metin2 ################################################################################ # Web app settings diff --git a/assets/db-init/create-databases.sql b/assets/db-init/create-databases.sql index 56156c5..c57f8d2 100644 --- a/assets/db-init/create-databases.sql +++ b/assets/db-init/create-databases.sql @@ -1,5 +1 @@ -CREATE DATABASE account CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -CREATE DATABASE common CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -CREATE DATABASE log CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -CREATE DATABASE player CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -CREATE DATABASE website CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; +CREATE DATABASE metin2 CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; diff --git a/docker-compose.yml b/docker-compose.yml index edb695f..5e209db 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -18,8 +18,8 @@ x-environment: &common-environment name: Metin2 services: - # MySQL Database - mysql: + # MariaDB Database + mariadb: image: mariadb:lts restart: always environment: @@ -33,7 +33,14 @@ services: - ./storage/database/:/var/lib/mysql/ - ./assets/db-init/:/docker-entrypoint-initdb.d/:ro healthcheck: - test: mysqladmin ping -h localhost -u root -p$$MARIADB_ROOT_PASSWORD + test: + [ + "CMD", + "healthcheck.sh", + "--su-mysql", + "--connect", + "--innodb_initialized", + ] interval: 10s timeout: 5s retries: 5 @@ -52,6 +59,7 @@ services: # Database credentials DB_HOST: ${MARIADB_HOST} DB_PORT: ${MARIADB_PORT} + DB_DATABASE: ${MARIADB_DB} DB_USERNAME: ${MARIADB_USER} DB_PASSWORD: ${MARIADB_PASSWORD} @@ -69,7 +77,7 @@ services: volumes: - ./storage/web/:/app/storage/ depends_on: - mysql: + mariadb: condition: service_healthy healthcheck: test: curl --fail http://localhost:80/ || exit 1 @@ -88,7 +96,7 @@ services: volumes: - ./storage/log/db/:/app/log/ depends_on: - mysql: + mariadb: condition: service_healthy # Auth server @@ -112,7 +120,7 @@ services: volumes: - ./storage/log/auth/:/app/log/ depends_on: - mysql: + mariadb: condition: service_healthy # Game server (CH1) @@ -137,7 +145,7 @@ services: - ./storage/log/ch1/first/:/app/log/ - ./storage/mark/:/app/mark/ depends_on: - mysql: + mariadb: condition: service_healthy ch1_game1: @@ -160,7 +168,7 @@ services: volumes: - ./storage/log/ch1/game1/:/app/log/ depends_on: - mysql: + mariadb: condition: service_healthy ch1_game2: @@ -183,7 +191,7 @@ services: volumes: - ./storage/log/ch1/game2/:/app/log/ depends_on: - mysql: + mariadb: condition: service_healthy # Game server (game99) @@ -207,5 +215,5 @@ services: volumes: - ./storage/log/game99/:/app/log/ depends_on: - mysql: + mariadb: condition: service_healthy