beAV Pro - MariaDB 11.4 einrichten

Version 1.0 | Stand: 2026-08-08

MariaDB 11.4 unter Windows einrichten

ℹ️Vorstufe zur Installationsanleitung

Die Installationsanleitung von beAV Pro setzt eine laufende Datenbank voraus (Systemanforderung: MySQL 8.0+ oder MariaDB 10.6+). Sie erklärt aber nicht, wie diese Datenbank auf den Rechner kommt. Genau das leistet dieses Dokument.

Ergebnis: MariaDB 11.4 LTS als Windows-Dienst mit automatischem Start, Sicherheitsupdates bis 2029, dazu die leere Datenbank beav_db und der Benutzer beav_user — der Stand, den die Installationsanleitung erwartet.

Zeitbedarf rund 30 Minuten
Erforderlich Administratorrechte auf dem Rechner
Gilt für Windows (Server und Arbeitsplatz)

⚠️Läuft bereits eine Datenbank auf dem Rechner?

Etwa aus einem Software-Paket wie XAMPP, Laragon oder WAMP? Dann zuerst Anhang A abarbeiten — zwei Datenbanken können den Port 3306 nicht gleichzeitig nutzen.

✅Wo dieses Dokument endet

Nach Abschnitt 4 ist die Datenbank fertig. Sie wechseln dann zur Installationsanleitung. Abschnitt 5 beschreibt den Übergang im Detail.


1. Vorbereitung

1.1 Arbeitsspeicher ermitteln

Eingabeaufforderung öffnen: Windows-Taste drücken, cmd tippen, Enter.

powershell -Command "(Get-CimInstance Win32_ComputerSystem).TotalPhysicalMemory/1GB"

Die Ausgabe ist der Arbeitsspeicher in Gigabyte. Beispiel: 15,999 bedeutet 16 GB. Notieren Sie die gerundete Zahl.

1.2 Freien Plattenplatz prüfen

powershell -Command "Get-PSDrive C | Select-Object @{n='FreiGB';e={[math]::Round($_.Free/1GB,1)}}"

Mindestens 5 GB müssen frei sein, zuzüglich Platz für die Datenbank und deren Wachstum.

1.3 Wert für den Pufferpool bestimmen

Der Pufferpool ist die wichtigste Einstellung überhaupt. Er bestimmt, wie viel der Datenbank im Arbeitsspeicher gehalten wird. Zu klein macht die Anwendung langsam, zu groß bringt Windows in Speichernot.

Fall 1 — auf dem Rechner läuft außer der Datenbank auch der Webserver mit PHP (Normalfall bei beAV Pro)

ArbeitsspeicherWert
4 GB1G
8 GB2G
16 GB6G
32 GB12G
64 GB24G

Fall 2 — der Rechner ist ein reiner Datenbankserver

ArbeitsspeicherWert
4 GB2G
8 GB4G
16 GB10G
32 GB20G
64 GB44G

Zusätzliche Regel: Der Pufferpool muss nie größer sein als die Datenbank selbst. Bei einer 3 GB großen Datenbank bringen 12G keinen Vorteil gegenüber 4G.

Notieren Sie den Wert. Er wird in Abschnitt 3 eingetragen und ist die einzige Anpassung, die zwingend nötig ist.

1.4 Ordner für temporäre Dateien anlegen

mkdir C:\ProgramData\MariaDB\tmp

Dieser Ordner begrenzt später, wohin die Datenbank überhaupt Dateien schreiben darf.

1.5 Zugangsdaten festlegen

In diesem Dokument werden zwei Passwörter vergeben:

KontoZweckWann gebraucht
rootVerwaltung der DatenbankAbschnitt 2.2, danach nur bei Wartung
beav_userZugriff der AnwendungAbschnitt 4.3 und im Web-Installer

Beide jetzt festlegen und im Passwortmanager ablegen. Das Passwort von beav_user wird zweimal gebraucht: einmal beim Anlegen in der Datenbank und einmal im Web-Installer. Stimmen die beiden Eingaben nicht überein, verbindet sich die Anwendung nicht.

⚠️Das ist noch nicht alles

Die beAV-Installation verlangt später weitere Angaben — Lizenzschlüssel, Admin-Zugang, Dateispeicher. Die vollständige Liste steht in der Installations-Checkliste.


2. Herunterladen und installieren

1Download

Seite: https://mariadb.org/download/

FeldWert
MariaDB Server Version11.4.x (höchste 11.4er Nummer)
Operating SystemWindows
Architecturex86_64
Package TypeMSI Package

Keine Preview- oder RC-Versionen wählen. Auch keine höhere Hauptversion: 11.4 ist eine Long-Term-Support-Ausgabe mit Pflege bis 2029, während die Zwischenversionen nach etwa einem Jahr aus dem Support fallen.

2Installation

MSI-Datei per Doppelklick starten.

DialogEinstellung
Custom SetupStandard belassen. HeidiSQL kann abgewählt werden
InstallationspfadC:\Program Files\MariaDB 11.4
Root-Passwortsetzen und notieren, mindestens 20 Zeichen
„Use UTF8 as default server's character set"anhaken
„Enable networking", Port3306
„Install as service", Service NameMariaDB belassen

Das Root-Passwort gehört in einen Passwortmanager. Es wird nur bei Wartungsarbeiten gebraucht, muss also nie getippt werden.

3Prüfen

sc query MariaDB

Erwartet: STATE : 4 RUNNING

"C:\Program Files\MariaDB 11.4\bin\mysql.exe" -u root -p -h 127.0.0.1 -e "SELECT VERSION();"

Erwartet: eine 11.4er Versionsnummer.


3. Konfiguration einsetzen

Der Installer legt nur eine Minimaldatei mit fünf Zeilen an. Die folgende Konfiguration ersetzt sie vollständig.

🔴Editor als Administrator starten

Startmenü → notepad tippen → Rechtsklick auf „Editor" → Als Administrator ausführen. Ohne Administratorrechte schlägt das Speichern fehl.

Datei → Öffnen. Im Öffnen-Dialog unten rechts von „Textdokumente" auf „Alle Dateien" umstellen, dann diesen Pfad einfügen:

C:\Program Files\MariaDB 11.4\data\my.ini

⚠️Inhalt ersetzen, nicht anhängen

Den gesamten vorhandenen Inhalt löschen und durch den folgenden ersetzen. Wird der neue Text nur angehängt, stehen [mysqld] und [client] doppelt in der Datei — sie widerspricht sich dann selbst.

C:\Program Files\MariaDB 11.4\data\my.ini
# =====================================================================
# MariaDB 11.4 fuer beAV Pro
#
# Pfade werden mit Schraegstrich geschrieben. Ein Backslash gilt in
# Optionsdateien als Escape-Zeichen und fuehrt zu Fehlern.
# =====================================================================

[mysqld]

# ---- Pfade ----
datadir=C:/Program Files/MariaDB 11.4/data

# ---- Netzwerk ----
port=3306

# Datenbank nur lokal erreichbar, nicht aus dem Netzwerk.
# Kostet KEINE Geschwindigkeit.
#
# NUR auskommentieren, wenn der Webserver mit beAV Pro auf einem
# ANDEREN Rechner laeuft als die Datenbank. Im Normalfall (beides auf
# demselben Rechner) bleibt die Zeile aktiv.
bind-address=127.0.0.1

# ---- Zeichensatz ----
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci

# ---- Verbindungen und Puffer ----
max_connections=200
max_allowed_packet=64M
table_open_cache=4096
tmp_table_size=256M
max_heap_table_size=256M
sort_buffer_size=2M
read_buffer_size=2M
read_rnd_buffer_size=4M
net_buffer_length=8K

# ---- InnoDB ----
# >>> HIER DEN WERT AUS ABSCHNITT 1.3 EINTRAGEN <<<
#
#     RAM      mit Webserver    reiner DB-Server
#     ------------------------------------------
#      4 GB         1G                2G
#      8 GB         2G                4G
#     16 GB         6G               10G
#     32 GB        12G               20G
#     64 GB        24G               44G
#
innodb_buffer_pool_size=6G

innodb_log_file_size=256M
innodb_log_buffer_size=32M
innodb_flush_log_at_trx_commit=1
innodb_lock_wait_timeout=50

# ---- Sicherheit ----
local_infile=0
secure_file_priv="C:/ProgramData/MariaDB/tmp"
max_connect_errors=10
skip-show-database

# ---- SQL-Modus ----
# Diese Einstellung ist Vorgabe und darf NICHT veraendert werden.
# Insbesondere STRICT_TRANS_TABLES nicht ergaenzen - beAV Pro ist
# darauf nicht geprueft.
sql_mode=NO_ZERO_IN_DATE,NO_ZERO_DATE,NO_ENGINE_SUBSTITUTION

# ---- Protokollierung ----
log_warnings=2

[client]
port=3306
plugin-dir="C:/Program Files/MariaDB 11.4/lib/plugin"
default-character-set=utf8mb4

[mysql]
default-character-set=utf8mb4

[mysqldump]
max_allowed_packet=64M

Die Zeile innodb_buffer_pool_size auf den Wert aus Abschnitt 1.3 ändern. Dann speichern.

3.1 Dienst neu starten

Eingabeaufforderung als Administrator öffnen: Startmenü → cmd tippen → Rechtsklick → Als Administrator ausführen.

net stop MariaDB
net start MariaDB

Startet der Dienst nicht, siehe Abschnitt 7.

3.2 Prüfen

"C:\Program Files\MariaDB 11.4\bin\mysql.exe" -u root -p -h 127.0.0.1 -e "SHOW VARIABLES LIKE 'innodb_buffer_pool_size';"

Der Wert erscheint in Bytes:

EingetragenErwartete Ausgabe
1G1073741824
2G2147483648
4G4294967296
6G6442450944
10G10737418240
12G12884901888

4. Datenbank und Benutzer anlegen

Dieser Abschnitt entspricht Schritt 3 „Datenbank vorbereiten" der Installationsanleitung. Wer ihn hier abarbeitet, überspringt ihn dort.

4.1 Anmelden

"C:\Program Files\MariaDB 11.4\bin\mysql.exe" -u root -p -h 127.0.0.1

Root-Passwort eingeben. Es erscheint:

MariaDB [(none)]>

Ab hier werden SQL-Befehle eingegeben, jeweils mit Semikolon am Ende und Enter. Nach jedem Befehl muss Query OK erscheinen.

4.2 Datenbank anlegen

CREATE DATABASE beav_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

⚠️Character Set muss utf8mb4 sein

beAV Pro benötigt zwingend utf8mb4 für Emojis, Umlaute und Sonderzeichen. utf8 (ohne mb4) ist nicht ausreichend.

Die Datenbank bleibt leer. Die Tabellen legt der Web-Installer später selbst an — er erwartet ausdrücklich eine vorhandene, leere Datenbank und erstellt sie nicht.

4.3 Benutzer anlegen

Wichtig: Das Passwort wird hier festgelegt, nicht irgendwo abgelesen. Es wird später im Web-Installer erneut gebraucht.

Empfehlung: ein zufälliger Wert aus dem Passwortmanager, mindestens 20 Zeichen. Auf Anführungszeichen, Backslash und Prozentzeichen verzichten, weil sie in der Eingabeaufforderung Probleme machen.

PASSWORT in den folgenden Zeilen durch den gewählten Wert ersetzen. Die Anführungszeichen bleiben stehen.

CREATE USER 'beav_user'@'localhost' IDENTIFIED BY 'PASSWORT';
CREATE USER 'beav_user'@'127.0.0.1' IDENTIFIED BY 'PASSWORT';
CREATE USER 'beav_user'@'::1'       IDENTIFIED BY 'PASSWORT';

GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, DROP, INDEX
  ON beav_db.* TO 'beav_user'@'localhost';
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, DROP, INDEX
  ON beav_db.* TO 'beav_user'@'127.0.0.1';
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, DROP, INDEX
  ON beav_db.* TO 'beav_user'@'::1';

FLUSH PRIVILEGES;

ℹ️Warum drei Konten für denselben Benutzer?

Unter Windows kann PHP den Namen localhost auf drei Weisen auflösen: als Name, als IPv4-Adresse 127.0.0.1 oder als IPv6-Adresse ::1. Für die Datenbank sind das drei verschiedene Herkünfte. Nur wenn alle drei Konten existieren, verbindet sich die Anwendung zuverlässig — unabhängig davon, welchen Weg PHP im Einzelfall wählt.

Wird nur eines angelegt, funktioniert die Anmeldung möglicherweise heute und nach einer Änderung an Windows oder PHP nicht mehr.

Warum nur diese Rechte und nicht ALL PRIVILEGES? Die Anwendung braucht genau diese acht. Alles darüber hinaus — etwa das Anlegen weiterer Benutzer oder der Zugriff auf fremde Datenbanken — wäre ein unnötiges Risiko, falls die Zugangsdaten je in falsche Hände geraten.

Abmelden:

EXIT;

4.4 Prüfen

"C:\Program Files\MariaDB 11.4\bin\mysql.exe" -u beav_user -p -h 127.0.0.1 beav_db -e "SELECT DATABASE();"

Erwartet: die Ausgabe beav_db.

Damit ist in einem Schritt bewiesen, dass der Benutzer existiert, das Passwort stimmt und der Zugriff auf die richtige Datenbank funktioniert.


5. Weiter mit der Installationsanleitung

✅Die Datenbank ist fertig

Alles Weitere — Dateien entpacken, Verzeichnisse anlegen, Webserver einrichten, Web-Installer ausführen — steht in der Installationsanleitung von beAV Pro.

So steigen Sie dort ein

Beginnen bei Schritt 1 — ZIP-Archiv entpacken
Überspringen Schritt 3 — Datenbank vorbereiten (hier bereits erledigt)
Fortfahren ab Schritt 4 — Webserver konfigurieren

Diese Werte tragen Sie im Web-Installer ein (Schritt 2 von 5)

FeldWert
Host127.0.0.1
Datenbankbeav_db
Benutzerbeav_user
Passwortdas in Abschnitt 4.3 festgelegte Passwort

127.0.0.1 ist gegenüber localhost vorzuziehen, weil es eindeutig ist und den Umweg über die Namensauflösung vermeidet.

Was Sie außerdem bereithalten müssen

Der Web-Installer fragt nicht nur die Datenbank ab, sondern führt durch fünf Schritte. Ohne diese Angaben kommen Sie dort nicht durch:


6. Datensicherung einrichten

🔴Nicht aufschieben

Ohne Sicherung ist eine Datenbank ein Totalverlust-Risiko. Dieser Abschnitt gehört zur Inbetriebnahme.

Erst durchführen, wenn beAV Pro installiert ist und läuft — vorher ist die Datenbank leer und es gibt nichts zu sichern.

6.1 Sicherungsordner anlegen

mkdir C:\beav_backup

Liegt der Ordner auf derselben Platte wie die Datenbank, schützt er nicht vor einem Plattenausfall. Besser ist ein zweites Laufwerk oder ein Netzlaufwerk. Zusätzlich sollte der Ordner in eine bestehende Datensicherung des Betriebs einbezogen werden.

6.2 Einmalige Sicherung von Hand

Wird nur einmal gesichert — etwa vor einer Änderung an der Anwendung —, braucht es weder Skript noch hinterlegtes Passwort. Mit -p fragt das Programm interaktiv, und es landet nichts auf der Platte.

Eingabeaufforderung als Administrator:

cd /d "C:\Program Files\MariaDB 11.4\bin"
mysqldump.exe -u root -p --single-transaction --routines ^
  --triggers --hex-blob --default-character-set=utf8mb4 ^
  beav_db > C:\beav_backup\einmalig.sql

Anschließend nach Abschnitt 6.6 prüfen. Für die regelmäßige Sicherung geht es mit 6.3 weiter.

ℹ️Warum das im laufenden Betrieb geht

--single-transaction holt sich einen in sich stimmigen Stand aller Tabellen, während weitergearbeitet wird. Der Dienst muss dafür nicht gestoppt werden.

Für eine Dateikopie des Datenverzeichnisses gilt das nicht. Wer C:\Program Files\MariaDB 11.4\data im laufenden Betrieb kopiert, erhält mit hoher Wahrscheinlichkeit eine inkonsistente und damit wertlose Kopie — ohne dass man ihr das ansehen könnte. Dasselbe gilt für Sicherungen auf Ebene der virtuellen Maschine: als zusätzliche Absicherung sinnvoll, als alleinige Datenbanksicherung nicht ausreichend.

6.3 Eigenen Sicherungsbenutzer anlegen

Eine geplante Aufgabe kann kein Passwort eintippen — es muss also irgendwo hinterlegt werden. Entscheidend ist deshalb nicht, das Hinterlegen zu vermeiden, sondern dafür zu sorgen, dass das hinterlegte Konto möglichst wenig darf.

🔴Weder root noch beav_user verwenden

root darf alles — wer die Datei liest, kann jede Datenbank verändern und löschen. Und beav_user ist für den laufenden Betrieb reserviert und darf schreiben.

Ein dritter Benutzer, der ausschließlich lesen kann, löst beides.

In der MariaDB-Konsole als root (Anmeldung wie in Abschnitt 4.1):

CREATE USER 'beav_backup'@'localhost'
  IDENTIFIED BY 'HIER_EIN_EIGENES_PASSWORT';
GRANT SELECT, SHOW VIEW, TRIGGER, LOCK TABLES, EVENT
  ON beav_db.* TO 'beav_backup'@'localhost';
FLUSH PRIVILEGES;

Gerät dieses Passwort in falsche Hände, lässt sich damit nichts ändern und nichts löschen — nur lesen, was ohnehin in der Sicherung steht.

6.4 Zugangsdaten hinterlegen

Das Passwort gehört nicht in die Befehlszeile — dort wäre es für jeden sichtbar, der die laufenden Prozesse einsehen kann. Es kommt stattdessen in eine eigene Datei.

C:\beav_backup\backup.cnf
[client]
user=beav_backup
password=HIER_DAS_SICHERUNGS_PASSWORT
host=127.0.0.1

⚠️Zugriff auf den Ordner einschränken

Rechtsklick auf C:\beav_backup → Eigenschaften → Sicherheit → Vererbung deaktivieren, dann alle Einträge außer Administratoren und SYSTEM entfernen. Im Ordner liegen neben der Zugangsdatei auch die Sicherungen selbst — also der gesamte Datenbestand.

ℹ️Ganz ohne Passwort — was möglich wäre

MariaDB bringt unter Windows das Plugin auth_named_pipe mit. Damit ließe sich ein Konto anlegen, das sich über das Windows-Benutzerkonto ausweist statt über ein Passwort. Es ist standardmäßig nicht aktiviert und erfordert einen Eintrag in der Serverkonfiguration, einen Neustart des Dienstes und einen MariaDB-Benutzer, dessen Name mit dem Windows-Konto der geplanten Aufgabe übereinstimmt. Das ist eine eigene Änderung mit eigenem Test — der Sicherungsbenutzer mit Leserechten aus 6.3 ist der sinnvolle Standard.

Der verschlüsselte Anmeldedaten-Tresor mysql_config_editor (.mylogin.cnf) ist dagegen ein MySQL-Werkzeug und in MariaDB nicht enthalten.

6.5 Sicherungsskript erstellen

C:\beav_backup\backup.bat
@echo off
setlocal

set MYSQLDUMP="C:\Program Files\MariaDB 11.4\bin\mysqldump.exe"
set ZIEL=C:\beav_backup
set DBNAME=beav_db

for /f %%i in ('powershell -NoProfile -Command "Get-Date -Format yyyy-MM-dd_HHmm"') do set STAMP=%%i

%MYSQLDUMP% --defaults-extra-file="%ZIEL%\backup.cnf" ^
  --single-transaction --routines --triggers --hex-blob ^
  --default-character-set=utf8mb4 ^
  %DBNAME% > "%ZIEL%\beav_%STAMP%.sql"

if errorlevel 1 (
    echo %date% %time% - FEHLER bei der Sicherung >> "%ZIEL%\backup_fehler.log"
    exit /b 1
)

forfiles /p "%ZIEL%" /m beav_*.sql /d -14 /c "cmd /c del @path" > "%ZIEL%\backup_aufraeumen.log"

endlocal

Das Skript sichert die Datenbank mit Zeitstempel und löscht Sicherungen, die älter als 14 Tage sind. Meldet backup_aufraeumen.log, dass keine Dateien gefunden wurden, ist das kein Fehler — dann war noch nichts alt genug zum Löschen.

6.6 Nächtliche Ausführung einrichten

Aufgabenplanung öffnen: Windows-Taste, taskschd.msc, Enter.

  1. Rechts auf Aufgabe erstellen (nicht „Einfache Aufgabe")
  2. Reiter Allgemein: Name beAV Datensicherung. Unabhängig von der Benutzeranmeldung ausführen auswählen und Mit höchsten Privilegien ausführen anhaken
  3. Reiter Trigger → Neu → Täglich, Uhrzeit z. B. 02:00
  4. Reiter Aktionen → Neu → Programm: C:\beav_backup\backup.bat
  5. Reiter Einstellungen: „Aufgabe beenden, falls sie länger ausgeführt wird als" auf 1 Stunde setzen

6.7 Sicherung prüfen

Aufgabe in der Aufgabenplanung markieren und Ausführen klicken. Danach die drei folgenden Prüfungen — sie bauen aufeinander auf.

Datei vorhanden und nicht leer

dir C:\beav_backup\*.sql

Eine 0-KB-Datei bedeutet Fehlschlag — dann backup_fehler.log im selben Ordner ansehen.

Vollständig, nicht nur groß

🔴Die Dateigröße allein sagt nichts

Eine mittendrin abgebrochene Sicherung kann mehrere Megabyte groß und trotzdem unbrauchbar sein. mysqldump schreibt ganz am Ende eine Abschlusszeile — nur wenn die da ist, ist die Datei vollständig.

findstr /c:"Dump completed" C:\beav_backup\beav_*.sql

Kommt keine Ausgabe, ist die Sicherung abgebrochen. Diese Prüfung ist wichtiger als die Dateigröße.

Reichen die Rechte des Sicherungsbenutzers?

Der Benutzer aus 6.3 hat bewusst nur Leserechte. Ob sie für alle Bestandteile ausreichen, zeigt erst der Durchlauf.

type C:\beav_backup\backup_fehler.log

Meldungen mit Access denied oder does not exist weisen auf ein fehlendes Recht hin.

Sind in der Datenbank gespeicherte Prozeduren oder Funktionen vorhanden, müssen sie auch in der Sicherung stehen:

findstr /c:"CREATE PROCEDURE" /c:"CREATE FUNCTION" ^
  C:\beav_backup\beav_*.sql

Fehlen sie, obwohl es welche gibt, genügt ein zusätzliches Recht:

GRANT SELECT ON mysql.proc TO 'beav_backup'@'localhost';
FLUSH PRIVILEGES;

6.8 Der eigentliche Test: zurückspielen

⚠️Eine Sicherung, die nie zurückgespielt wurde, ist nur eine Vermutung

Vierteljährlich durchführen — und niemals nach beav_db, sondern in eine Testdatenbank.

CREATE DATABASE beav_test;
mysql.exe -u root -p beav_test < C:\beav_backup\beav_2026-08-09_0200.sql

Danach stichprobenartig vergleichen — beide Zahlen müssen übereinstimmen:

SELECT COUNT(*) FROM beav_test.personal;
SELECT COUNT(*) FROM beav_db.personal;

Aufräumen:

DROP DATABASE beav_test;

6.9 Wiederherstellung im Ernstfall

🔴Zuerst den aktuellen Stand sichern

Auch wenn er beschädigt aussieht. Er kann Daten enthalten, die in der letzten Sicherung fehlen — und ohne ihn ist kein zweiter Versuch möglich.

1. Webserver stoppen, damit während der Wiederherstellung nichts geschrieben wird:

net stop Apache

2. Vorhandenen Stand sichern:

mysqldump.exe -u root -p --single-transaction --routines ^
  --triggers --hex-blob beav_db > C:\beav_backup\vor_restore.sql

3. Datenbank leeren und neu anlegen:

DROP DATABASE beav_db;
CREATE DATABASE beav_db
  CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

4. Sicherung einspielen:

mysql.exe -u root -p beav_db < C:\beav_backup\beav_2026-08-09_0200.sql

5. Rechte prüfen — sie hängen an der Datenbank und gehen beim DROP DATABASE verloren:

SHOW GRANTS FOR 'beav_user'@'localhost';

Fehlen sie, nach Abschnitt 4.3 neu vergeben.

6. Webserver starten und in der Anwendung stichprobenartig prüfen:

net start Apache

6.10 Aufbewahrung

WasWarum
14 Tage vorhaltenim Skript einstellbar. Zu kurz gewählt, fällt ein Schaden auf, der schon länger besteht, erst auf, wenn alle Sicherungen ihn enthalten
Zweiter OrtPflicht. Eine Sicherung neben der Datenbank schützt nicht vor Plattenausfall, Diebstahl oder Brand
Offline-Kopiedringend empfohlen. Ein Verschlüsselungstrojaner erreicht auch verbundene Netzlaufwerke

⚠️Die häufigste Ursache für Datenverlust

Das ist nicht die fehlende Sicherung, sondern eine, die seit Monaten leer läuft und die niemand geprüft hat. Prüfungen nach 6.7 gehören wöchentlich in den Ablauf, der Rückspieltest nach 6.8 vierteljährlich.


7. Wenn der Dienst nicht startet

Fehlerprotokoll ansehen:

powershell -Command "Get-Content 'C:\Program Files\MariaDB 11.4\data\*.err' -Tail 30"
MeldungUrsache und Abhilfe
unknown variable 'aria_recover'Heißt jetzt aria_recover_options. Zeile löschen oder umbenennen
Can't create/write to fileEditor hatte keine Administratorrechte
Port bereits belegtEine andere Datenbank läuft auf 3306. Siehe Anhang A
Cannot allocate memoryPufferpool zu groß. Wert aus Abschnitt 1.3 halbieren
Access denied for user 'root'Falsches Root-Passwort

Nach jeder Korrektur als Administrator:

net stop MariaDB
net start MariaDB

Die Anwendung verbindet sich nicht, obwohl der Dienst läuft

Symptom im Web-InstallerUrsache und Abhilfe
„Zugriff verweigert"Passwort falsch, oder eines der drei Konten aus 4.3 fehlt
„Datenbank existiert nicht"Name falsch geschrieben — er lautet beav_db
„Verbindung abgelehnt"Läuft der Webserver auf einem anderen Rechner? Dann bind-address in der my.ini auskommentieren und Dienst neu starten

8. Updates

⚠️MariaDB aktualisiert sich nicht selbst

Das MSI-Paket erscheint nicht in Windows Update. Der Betreiber muss aktiv werden.

Empfohlener Rhythmus: zweimal jährlich, als Kalendereintrag. Auf https://mariadb.org/download/ nachsehen, ob eine neuere 11.4er Version vorliegt.

Ablauf

  1. Datenbank sichern:
    "C:\Program Files\MariaDB 11.4\bin\mysqldump.exe" -u root -p --single-transaction --routines --triggers --hex-blob --default-character-set=utf8mb4 beav_db > C:\beav_vor_update.sql
  2. Neues MSI herunterladen
  3. MSI starten — der Installer erkennt die vorhandene Installation und bietet ein Upgrade an
  4. Systemtabellen anpassen:
    "C:\Program Files\MariaDB 11.4\bin\mariadb-upgrade.exe" -u root -p -h 127.0.0.1
  5. Anwendung testen

Innerhalb der 11.4er Linie handelt es sich um Fehler- und Sicherheitskorrekturen ohne Funktionsänderungen. Das Risiko ist gering. Der Wechsel auf eine höhere Hauptversion steht erst an, wenn der Support für 11.4 im Jahr 2029 ausläuft.


Anhang A — Wenn bereits eine Datenbank installiert ist

Läuft auf dem Rechner schon eine Datenbank, belegt sie Port 3306. Zwei Datenbanken können denselben Port nicht gleichzeitig nutzen — eine der beiden startet dann nicht.

Diesen Anhang vor Abschnitt 2 abarbeiten.

A.1 Prüfen, was läuft

netstat -ano | findstr :3306

Erscheint eine Zeile, ist der Port belegt.

sc query state= all | findstr /i "mysql maria"

Zeigt die Namen vorhandener Datenbankdienste.

🔴Vorhandene Daten zuerst sichern

Liegen in der vorhandenen Datenbank noch benötigte Daten, gehören diese vor jeder Änderung gesichert. Wie diese Daten anschließend in die neue Installation übernommen werden, ist ein eigenes Thema und nicht Gegenstand dieser Anleitung.

A.2 Alte Datenbank stilllegen

Läuft sie als Windows-Dienst, dann als Administrator:

net stop DIENSTNAME
sc config DIENSTNAME start= disabled

Das Leerzeichen nach start= ist Pflicht. Prüfen:

sc qc DIENSTNAME

Erwartet: START_TYPE : 4 DISABLED

Läuft sie stattdessen über eine Steueroberfläche wie das XAMPP Control Panel, dort den Autostart deaktivieren.

A.3 Zusätzlich absichern

Empfohlen, damit niemand versehentlich die alte Datenbank startet und die Anwendung dann auf einem veralteten Datenstand arbeitet: In der Konfigurationsdatei der alten Datenbank beide port=-Zeilen auf 3307 ändern. Damit kollidiert sie auch bei einem versehentlichen Start nicht mehr.

Sinnvoll ist außerdem eine Hinweisdatei im Verzeichnis der alten Installation, etwa ACHTUNG_STILLGELEGT.txt, mit einem Zweizeiler, warum das so ist und wo die aktive Datenbank liegt.

A.4 Prüfen, dass der Port frei ist

netstat -ano | findstr :3306

Es darf keine Zeile mehr erscheinen. Erst dann mit Abschnitt 2 fortfahren.

A.5 Nach der Umstellung

⚠️Sicherungsskripte laufen sonst ins Leere

Bestehende Datensicherungsskripte verweisen weiterhin auf den alten mysqldump.exe-Pfad. Dieser existiert zwar noch, verbindet sich aber mit einer Datenbank, die nicht mehr läuft — die Sicherungen laufen sonst unbemerkt ins Leere. Pfad auf C:\Program Files\MariaDB 11.4\bin\mysqldump.exe umstellen.


Anhang B — phpMyAdmin

phpMyAdmin ist nicht Bestandteil von MariaDB, sondern ein eigenes Projekt. Es benötigt einen Webserver mit PHP. Für den Betrieb von beAV Pro ist es nicht erforderlich.

Ist es vorhanden, in config.inc.php eintragen:

$cfg['Servers'][$i]['host'] = '127.0.0.1';
$cfg['Servers'][$i]['auth_type'] = 'cookie';

Die Einträge für user und password leeren.

🔴auth_type = 'config' ist gefährlich

Mit auth_type = 'cookie' fragt phpMyAdmin bei jedem Aufruf nach Zugangsdaten. Die Alternative 'config' speichert das Passwort im Klartext in der Datei und lässt jeden Besucher ohne Anmeldung als Administrator hinein. Auf einem aus dem Internet erreichbaren Server ist das ein erhebliches Risiko.

Zusätzlich empfohlen: Den Zugriff auf das phpMyAdmin-Verzeichnis in der Webserver-Konfiguration auf das lokale Netz beschränken.


✅Fertig — wie geht es weiter?

Die Datenbank steht. Fahren Sie fort mit der Installationsanleitung von beAV Pro, beginnend bei Schritt 1. Schritt 3 „Datenbank vorbereiten" können Sie überspringen.