Update auf MariaDB 11

Zuletzt geändert von MACH ProForms GmbH am 02.04.2025

Allgemeine Hinweise

Für das Update auf die Version 4.87 wird die Version 11 von MariaDB offiziell unterstützt. Unsere Installationsroutine und die zusätzliche Skripte wurden auf diese Version optimiert. Da unsere Software grundsätzlich auch eine MYSQL-Datenbank unterstützt sind im folgenden diese beiden Konstellationen beschrieben. Diese Anleitung beschreibt den kompletten Updateprozess inkl. der Aktualisierung der Software.

Information

Bitte beachten Sie die allgemeinen Hinweise zum MariaDB-Upgrade.

Docker Umgebung

Vorbereitung

Folgende Skripte sind anzupassen.

Variante 1 mit MariaDB

1. db-backup.sh

(Standard-)Pfad: opt/docker/fs

echo Backup mariadb
docker run --rm -v {{ backup_directory }}/mariadb:/backup -v {{ docker_directory }}/fs/mariadb/config:/etc/mysql/conf.d:ro --network fs mariadb:11 bash -c 'rm /backup/dump.$(date +%u).sql.gz; mariadb-dump -A -hmariadb -u{{ mysql_user }} -p"{{ mysql_password }}" | gzip > /backup/dump.$(date +%u).sql.gz'

2. db-restore.sh

(Standard-)Pfad: opt/docker/fs

echo Restore mariadb
docker run --rm -v {{ backup_directory }}/mariadb:/backup  -v {{ docker_directory }}/fs/mariadb/config:/etc/mysql/conf.d:ro --network fs mariadb:11 bash -c "zcat /backup/dump.sql.gz | mariadb -hmariadb -u{{ mysql_user }} -p'{{ mysql_password }}'"

3. docker-compose.yml

(Standard-)Pfad: opt/docker/fs

services:
  mariadb:
image: mariadb:11
  
environment:
    MARIADB_AUTO_UPGRADE: 1
    MARIADB_DISABLE_UPGRADE_BACKUP: 1 
(Optional)

Variante 2 mit MYSQL

Keine Anpassungen notwendig

Installation

  1. docker-compose down
  2. docker-compose pull mariadb
  3. docker-compose up -d
  4. ./defaultUpdate.sh

Klassische Umgebung

Vorbereitung

Folgende Skripte sind anzupassen.

Variante 1 mit MariaDB

1. mysql-backup.php

(Standard-)Pfad: customerArea/cron/

exec("mariadb-dump -u " . $MYENV['dbUser'] . " -p". $MYENV['dbPasswd'] ." -l --single-transaction --add-drop-table --add-drop-database ".$d["Database"]." > ".$folder."/".$d["Database"].".sql");

Variante 2 mit MYSQL

1. mysql-backup.php

(Standard-)Pfad: customerArea/cron/

exec("mariadb-dump -u " . $MYENV['dbUser'] . " -p". $MYENV['dbPasswd'] ." -l --single-transaction --add-drop-table --add-drop-database ".$d["Database"]." > ".$folder."/".$d["Database"].".sql");

2. Symlinks anlegen

  • "mariadb" auf "mysql"
  • "mariadb-dump" auf "mysqldump"
  • "mariadb-upgrade" auf "mysql_upgrade"