Wiki-Quellcode von Update auf MariaDB 11
Zuletzt geändert von MACH ProForms GmbH am 02.04.2025
Zeige letzte Bearbeiter
author | version | line-number | content |
---|---|---|---|
1 | = Allgemeine Hinweise = | ||
2 | |||
3 | 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. | ||
4 | |||
5 | {{info}} | ||
6 | Bitte beachten Sie die allgemeinen Hinweise zum [[MariaDB-Upgrade>>doc:Main.01_Systemadministration.05_Anleitungen.Datenbank.MariaDB Update.WebHome]]. | ||
7 | {{/info}} | ||
8 | |||
9 | = Docker Umgebung = | ||
10 | |||
11 | == Vorbereitung == | ||
12 | |||
13 | Folgende Skripte sind anzupassen. | ||
14 | |||
15 | === Variante 1 mit MariaDB === | ||
16 | |||
17 | ==== 1. db-backup.sh ==== | ||
18 | |||
19 | (Standard-)Pfad: //opt/docker/fs// | ||
20 | |||
21 | (% class="box" %) | ||
22 | ((( | ||
23 | echo Backup mariadb | ||
24 | 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' | ||
25 | ))) | ||
26 | |||
27 | ==== 2. db-restore.sh ==== | ||
28 | |||
29 | (Standard-)Pfad: //opt/docker/fs// | ||
30 | |||
31 | (% class="box" %) | ||
32 | ((( | ||
33 | echo Restore mariadb | ||
34 | 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 }}'" | ||
35 | ))) | ||
36 | |||
37 | ==== 3. docker-compose.yml ==== | ||
38 | |||
39 | (Standard-)Pfad: //opt/docker/fs// | ||
40 | |||
41 | (% class="box" %) | ||
42 | ((( | ||
43 | services: | ||
44 | mariadb: | ||
45 | **image~: mariadb:11 | ||
46 | **environment: | ||
47 | **~ MARIADB_AUTO_UPGRADE: 1 | ||
48 | MARIADB_DISABLE_UPGRADE_BACKUP: 1 **//(Optional)// | ||
49 | ))) | ||
50 | |||
51 | === Variante 2 mit MYSQL === | ||
52 | |||
53 | Keine Anpassungen notwendig | ||
54 | |||
55 | == (% id="cke_bm_219S" style="display:none" %) (%%)Installation == | ||
56 | |||
57 | 1. {{code}}docker-compose down{{/code}} | ||
58 | 1. {{code}}docker-compose pull mariadb{{/code}} | ||
59 | 1. {{code}}docker-compose up -d{{/code}} | ||
60 | 1. {{code}}./defaultUpdate.sh{{/code}} | ||
61 | |||
62 | = Klassische Umgebung = | ||
63 | |||
64 | == Vorbereitung == | ||
65 | |||
66 | Folgende Skripte sind anzupassen. | ||
67 | |||
68 | === Variante 1 mit MariaDB === | ||
69 | |||
70 | ==== 1. mysql-backup.php ==== | ||
71 | |||
72 | (Standard-)Pfad: customerArea/cron/ | ||
73 | |||
74 | (% class="box" %) | ||
75 | ((( | ||
76 | exec("**mariadb-dump** -u " . $MYENV['dbUser'] . " -p". $MYENV['dbPasswd'] ." -l ~-~-single-transaction ~-~-add-drop-table ~-~-add-drop-database ".$d["Database"]." > ".$folder."/".$d["Database"].".sql"); | ||
77 | ))) | ||
78 | |||
79 | === Variante 2 mit MYSQL === | ||
80 | |||
81 | ==== 1. mysql-backup.php ==== | ||
82 | |||
83 | (Standard-)Pfad: customerArea/cron/ | ||
84 | |||
85 | (% class="box" %) | ||
86 | ((( | ||
87 | exec("**mariadb-dump** -u " . $MYENV['dbUser'] . " -p". $MYENV['dbPasswd'] ." -l ~-~-single-transaction ~-~-add-drop-table ~-~-add-drop-database ".$d["Database"]." > ".$folder."/".$d["Database"].".sql"); | ||
88 | ))) | ||
89 | |||
90 | ==== 2. Symlinks anlegen ==== | ||
91 | |||
92 | * "//mariadb//" auf "//mysql//" | ||
93 | * "//mariadb//-dump" auf "//mysqldump//" | ||
94 | * "mariadb-upgrade" auf "mysql_upgrade" |