From 1e6950010b4b240d66d0448a7b8bdb7e77129d53 Mon Sep 17 00:00:00 2001 From: Anel Husakovic Date: Thu, 4 Jan 2024 16:05:02 +0100 Subject: [PATCH] MDBF 633: Docker compose file example for MySQL 5.7 migration --- .../migration-5.7/compose-migrate-mysql.yml | 16 +++++++++++ examples/migration-5.7/compose-mysql.yml | 27 +++++++++++++++++++ examples/migration-5.7/mysql/mysql-data.sql | 3 +++ 3 files changed, 46 insertions(+) create mode 100644 examples/migration-5.7/compose-migrate-mysql.yml create mode 100644 examples/migration-5.7/compose-mysql.yml create mode 100644 examples/migration-5.7/mysql/mysql-data.sql diff --git a/examples/migration-5.7/compose-migrate-mysql.yml b/examples/migration-5.7/compose-migrate-mysql.yml new file mode 100644 index 00000000..7bb64daf --- /dev/null +++ b/examples/migration-5.7/compose-migrate-mysql.yml @@ -0,0 +1,16 @@ +version: "3" +x-common-variables: &common-variables + MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASSWORD} + MYSQL_USER: ${DB_USER} + MYSQL_PASSWORD: ${DB_PASSWORD} + +services: + mariadb-from-mysql57: + environment: + <<: *common-variables + MARIADB_AUTO_UPGRADE: 1 + container_name: ${MYSQL_MIGRATE_name} + image: mariadb:lts + volumes: + # MySQL data that we want to migrate + - ./mysql-volume:/var/lib/mysql diff --git a/examples/migration-5.7/compose-mysql.yml b/examples/migration-5.7/compose-mysql.yml new file mode 100644 index 00000000..fc47c93e --- /dev/null +++ b/examples/migration-5.7/compose-mysql.yml @@ -0,0 +1,27 @@ +version: "3" +# This file will be base for mysql8 too +x-common-variables: &common-variables + MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASSWORD} + MYSQL_USER: ${DB_USER} + MYSQL_PASSWORD: ${DB_PASSWORD} + MYSQL_DATABASE: ${DB_DATABASE} + +services: + mysql: + environment: *common-variables + container_name: ${MYSQL_name} + image: mysql:5.7 + healthcheck: + test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "--silent"] + interval: 5s + timeout: 3s + retries: 2 + start_period: 0s + volumes: + # Preload files for MySQL data + - ./mysql:/docker-entrypoint-initdb.d:z + # We have to save MySQL volume that will be used in upgrade + - ./mysql-volume:/var/lib/mysql + +networks: + backend: \ No newline at end of file diff --git a/examples/migration-5.7/mysql/mysql-data.sql b/examples/migration-5.7/mysql/mysql-data.sql new file mode 100644 index 00000000..c71d9588 --- /dev/null +++ b/examples/migration-5.7/mysql/mysql-data.sql @@ -0,0 +1,3 @@ +DROP TABLE IF EXISTS countries; +CREATE TABLE countries(name char(20)); +INSERT INTO countries values ("Bosnia & Herzegovina"); \ No newline at end of file