Anleitung zum Aufsetzen eines Datenbankservers
Windows | Windows-Rechner auf dem das System estw läuft und auf dem die csv-Dateien für den Zugriff von estw abgelegt werden. |
Host | Linux-Server auf ein Docker-Dienst läuft. Der Platzhalter 192.168.xxx.xxx innerhalb dieser Dokumentation ist die Adresse des Hostes. |
Docker | Docker-Container auf dem Host mit MariaDB-Datenbank. Im Beispiel heißt der Container franzidb . |
Der Docker-Container wird mit dem Befehl docker run
erstellt und enthält eine Instanz von mariadb
.
Eingerichtet werden eine Portweiterleitung und ein Sharing-Verzeichnis zum Zugriff auf die abgelegten csv-Dateien vom Host aus.
-p 3300:3306 | Portweiterleitung 3300:3360 vom Container (3306) zum Host (3300). Auf die Datenbank kann vom Host auf Port 3300 zugegriffen werden. Die Änderung des Standardports ist notwendig, da auf dem Host selber eine andere Instanz einer MySQL-Datenbank läuft. |
-v ~/docker/export/:/home/hostfiles/export | Das Verzeichnis ~/docker/export/ vom Host-Rechner wird in den Container als Verzeichnis /home/hostfiles/export eingebunden. Die csv-Dateien werden vom Datenbank-Server hier abgelegt und können vom Host in dessen Verzeichnis ~/docker/export/ abgeholt werden. |
-e MARIADB_ROOT_PASSWORD=xyz | Legt das Root-Passwort der Datenbank fest. |
-d | Der Container wird detached. Das bedeuted, dass der Prompt nach dem Start wieder freigegeben wird. Die Datenbank läuft so lange weiter, bis der Container wieder gestoppt wird. |
–name franzidb | Name des Docker-Containers. |
docker run -it -p 3300:3306 -v ~/docker/export/:/home/hostfiles/export --name franzidb -e MARIADB_ROOT_PASSWORD=xyz -d mariadb
Verbinde dich von Windows aus mit dem DB-Server als root
und führe das Skript in der Datei create_database.sql
aus. Du findest die Datei im Projektverzeichnis des Repositories unter
sql
.
Benutze dafür ein SQL-Programm deiner Wahl, z.B. Heidi
. Alternativ kannst du das Script auch mit dem Terminalprogramm mysqlsh
starten.
mysqlsh --uri root@192.168.xxx.xxx:3300 --sql -f create_database.sql
Führe das Skript in der Datei create_user.sql aus.
mysqlsh --uri root@192.168.xxx.xxx:3300 --sql -f create_user.sql
Wechsle auf die Kommandozeile des Docker-Containers der Datenbank.
docker exec -it franzidb /bin/bash
Navigiere zum Verzeichnis /home/hostfiles
. Vergebe dort für das Export-Verzeichnis export
alle verfügbaren Berechtigungen.
chmod 777 export
Speichern der Daten in csv-Dateien. Führe dazu das Skript in der Datei export.sql aus.
mysqlsh --uri root@192.168.xxx.xxx:3300 --sql -f export.sql
Kopieren der csv-Dateien vom export-Verzeichnis des Hostes auf den Windows-Rechner. Führe dazu das Skript in der Datei transfer.sql aus.
mysqlsh --uri root@192.168.xxx.xxx:3300 --sql -f transfer.sql
Mathias Rentsch
rentsch@online.de
Juli 2025