Eine Datenbank ist für unseren Homserver mehr oder weniger Pflicht. mariadb ist ein unter GPL stehendes Datenbankmangementsystem, dass als freie Alternative von MySQL abgespalten wurde und zu diesem 100% kompatibel ist (zumindest habe ich noch keine Unterschiede feststellen können)
mariadb installieren
Als erstes legst du das Verzeichnis für das Volume an.
sudo mkdir /opt/mariadb
Wie schon bekannt, brauchst du die nachfolgende docker-compose.yml Datei
version: '3.1'
services:
mariadb:
image: linuxserver/mariadb:latest
container_name: "mariadb"
restart: always
environment:
MYSQL_PASSWORD: "<passwort>"
MYSQL_ROOT_PASSWORD: "<passwort>"
TZ: "Europe/Berlin"
ports:
- "3306:3306"
volumes:
- /opt/mariadb:/config
Denk daran, eigene Passwörter zu vergeben.
Den Container startest du wie üblich mit
docker-compose up -d
mariadb verwenden
Jetzt musst du den Client für mariadb installieren
sudo apt install mariadb-client
Wenn du dabei gefragt wirst, welche Services neugestartet werden sollen, änderst du an der Auswahl nichts und wählst direkt „OK“ aus.
Um dich mit der Datenbank zu verwenden startest du den Client mit
mariadb -h 127.0.0.1 -u root -p
Nach Eingabe des Passworts für den root User, dass du in der docker-compose.yml
Datei vergeben hast, bist du mit dem Datenbanksystem verbunden.
Zunächst solltest du dir einen Account anlegen, unter dem du zukünftig in der Datenbank arbeitest.
CREATE USER '<username>'@'192.168.178.%' IDENTIFIED BY '<passwort>';
Der Account besteht aus dem Usernamen und dem Hostteil. Der Hostteil besteht bei mir aus den ersten drei Teilen der IP-Adressen in meinem Heimnetzwerk und einem ‚%‘, so dass ich mich von jedem Rechner in meinem lokalen Netz einloggen kann.
<username>
und <passwort>
suchst du dir selber aus, die IP-Adresse wird dir üblicherweise vom Access-Point zugewiesen, falls du es nicht Pi-Hole als DNS-Server benutzt.
Der Account benötigt jetzt noch alle Rechte, um mit dem Datenbanksystem arbeiten zu dürfen.
GRANT ALL PRIVILEGS ON *.* TO '<username>'@'192.168.178.%';