MariaDB unter Proxmox installieren: So geht‘s
MariaDB auf einem Proxmox zu betreiben, bietet viele Vorteile für alle, die Home Assistant oder andere datenintensive Anwendungen im eigenen Netzwerk nutzen. In dieser Anleitung erfahren Sie, wie Sie eine eigene MariaDB-Datenbank in einem Proxmox LXC-Container installieren, konfigurieren und in Betrieb nehmen.
Wann ist MariaDB auf Proxmox sinnvoll?
Der Einsatz von MariaDB auf Proxmox bietet sich an, wenn Sie Datenbankdienste flexibel in isolierten Umgebungen verwenden möchten. Proxmox ermöglicht es, MariaDB in Containern (LXC) oder virtuellen Maschinen (KVM) zu installieren und so unterschiedliche Anforderungen getrennt zu erfüllen.
Voraussetzungen für die Einrichtung
Bevor Sie starten, sollte Folgendes vorhanden sein:
- Ein laufender Proxmox-Host (VE 7 oder 8)
- Zugriff auf die Weboberfläche und Shell von Proxmox
- Ausreichend Speicherplatz (mind. 4 GB) und RAM (mind. 1 GB) für den LXC
- Netzwerkzugang zum Container (per DHCP oder statischer IP-Adresse)
- Kostengünstige vCPUs und leistungsstarke dedizierte Cores
- Höchste Flexibilität ohne Mindestvertragslaufzeit
- Inklusive 24/7 Experten-Support
Schritt für Schritt: MariaDB-LXC-Container unter Proxmox installieren
Mit Proxmox lassen sich MariaDB-Instanzen als LXC-Container effizient und ressourcenschonend betreiben. Die folgende Anleitung zeigt, wie Sie einen solchen Container einrichten und MariaDB darin installieren.
Schritt 1: Skript ausführen
Der einfachste Weg, MariaDB als LXC auf Proxmox zu installieren, ist über ein Community-Skript. Melden Sie sich über die Proxmox-Weboberfläche an und wählen Sie Ihren Node. Klicken Sie dort auf „Shell“ und führen Sie folgenden Befehl aus:
bash -c "$(wget -qLO - https://github.com/community-scripts/ProxmoxVE/raw/main/ct/mariadb.sh)"
bashSie erhalten eine Sicherheitsabfrage: Bestätigen Sie mit der Eingabetaste. Sie können entweder die Standard- oder erweiterte Installation nutzen.
Schritt 2: Installation konfigurieren
Bei der Standardinstallation werden folgende Einstellungen verwendet:
- RAM: 1 GB
- Speicher: 4 GB
- CPU: 1 vCore
- Container-Typ: unprivileged
- Netzwerk: DHCP
Diese Konfiguration ist für die meisten Anwendungsfälle ausreichend. Wenn Sie möchten, können Sie im erweiterten Modus weitere Parameter setzen, wie zum Beispiel die Debian-Version, ein Root-Passwort oder eine statische IP-Adresse.
Während der Installation fragt das Skript, ob Sie Adminer ebenfalls installieren wollen. Adminer ist ein leichtgewichtiges Web-Frontend für Datenbanken. Bestätigen Sie mit Y
, wenn Sie später über Ihren Browser auf die Datenbank zugreifen möchten.
Nach der erfolgreichen Einrichtung sehen Sie die Meldung Completed Successfully!
. Sie können nun mit der Konfiguration fortfahren.
Schritt 3: Konfigurationsdatei anpassen
Damit Anwendungen wie Home Assistant auf die Datenbank zugreifen können, müssen Sie den Remote-Zugriff explizit erlauben.
Starten Sie die Konsole des MariaDB-LXC über die Proxmox-Oberfläche. Öffnen Sie die Hauptkonfigurationsdatei:
nano /etc/mysql/my.cnf
bashSuchen Sie die Zeile #port = 3306
und entfernen Sie das Kommentarzeichen (#
), damit die Zeile aktiv ist. Speichern Sie mit [CTRL] + [O], bestätigen Sie mit Enter und schließen Sie mit [CTRL] + [X].
Schritt 4: Server-Konfiguration ändern
Anschließend bearbeiten Sie die Server-Datei:
nano /etc/mysql/mariadb.conf.d/50-server.cnf
bashSuchen Sie die Zeile mit:
bind-address = 127.0.0.1
bashund kommentieren Sie diese aus, indem Sie ein #
davor setzen:
#bind-address = 127.0.0.1
bashSpeichern und schließen Sie die Datei wie zuvor. Starten Sie den MariaDB-Dienst neu:
systemctl restart mariadb
bashDamit ist der Zugriff aus dem lokalen Netzwerk möglich.
Schritt 5: MariaDB absichern
MariaDB bringt ein eigenes Sicherheitsskript mit, um grundlegende Schutzmaßnahmen einzurichten. Starten Sie das Skript in der Konsole des Containers:
mariadb-secure-installation
bashDas Skript fragt Sie schrittweise nach folgenden Punkten:
- Enter current password for root (enter for none):
- Change the root password? [Y/n] n
- Remove anonymous users? [Y/n] y
- Disallow root login remotely? [Y/n] y
- Remove test database and access to it? [Y/n] y
- Reload privilege tables now? [Y/n] y
Wenn Sie alle Schritte durchgeführt haben, ist Ihre MariaDB-Installation grundlegend abgesichert. Die Datenbank ist nun bereit für die Einrichtung von Benutzerinnen oder Benutzern und Diensten.
- IONOS Cloud-Partner: Die Experten für Ihren Datenbank-Betrieb
- Flexibel: Maßgeschneiderte Datenbank-Lösungen ganz auf Ihre Bedürfnisse
- Rechenzentren in Deutschland: Ihre Daten sind sicher
Schritt 6: Benutzer und Datenbank anlegen
Wechseln Sie nun in die MariaDB-Shell:
/usr/bin/mariadb
bashLegen Sie einen neuen Benutzer oder eine neue Benutzerin für Ihre Anwendung an:
CREATE USER 'homeuser'@'localhost' IDENTIFIED BY 'safepassword';
sqlGeben Sie diesem Benutzer oder dieser Benutzerin volle Rechte auf alle Datenbanken:
GRANT ALL ON *.* TO 'homeuser'@'localhost' WITH GRANT OPTION;
sqlWenn Sie den Zugriff auch über das lokale Netzwerk erlauben möchten, führen Sie Folgendes aus:
GRANT ALL ON *.* TO 'homeuser'@'192.168.0.%' IDENTIFIED BY 'safepassword' WITH GRANT OPTION;
sqlErstellen Sie nun eine eigene Datenbank, zum Beispiel für Home Assistant:
CREATE DATABASE homeassistant;
sqlWenden Sie die Rechte sofort an:
FLUSH PRIVILEGES;
sqlVerlassen Sie die Datenbank-Shell mit:
exit
sqlDamit ist das Benutzerkonto erstellt und man kann sich mit dem gesetzten Passwort anmelden. Auch die Datenbank steht bereit für die Verbindung mit externen Diensten.
Schritt 7: Netzwerk und Startreihenfolge konfigurieren
Damit MariaDB zuverlässig mit anderen Anwendungen wie Home Assistant zusammenarbeitet, sollten Sie die Netzwerkumgebung absichern und sicherstellen, dass der Datenbankcontainer vor anderen Containern startet.
Wenn Sie in der Container-Konfiguration DHCP gewählt haben, erhält der MariaDB-LXC eine dynamische IP-Adresse. Diese kann sich nach einem Neustart ändern. Um Verbindungsprobleme zu vermeiden, legen Sie entweder eine statische IP innerhalb der LXC-Netzwerkeinstellungen fest oder vergeben im Router eine feste IP über DHCP-Reservierung.
So finden Sie die aktuelle IP-Adresse des Containers heraus:
ip a
bashOder im Proxmox-Interface unter „Summary“ -> „Network“.
Schritt 8: Startverhalten des Containers definieren
Damit Home Assistant beim Start auf die Datenbank zugreifen kann, muss der MariaDB-Container vorab gestartet sein. Sie können die Startreihenfolge in Proxmox festlegen:
- Wählen Sie den MariaDB-Container in der linken Liste.
- Klicken Sie im mittleren Bereich auf Options.
- Doppelklicken Sie auf „Start/Shutdown order“.
- Aktivieren Sie die Checkbox und setzen Sie: „Start order: 1“ und „Startup delay: 60 Sekunden“.
Wiederholen Sie den Vorgang für den Home-Assistant-Container, setzen Sie dort zum Beispiel „Start order 2“ und „Startup delay 10 Sekunden“.
Schritt 9: Home Assistant mit MariaDB verbinden
Sobald die Datenbank bereitsteht und eine feste IP-Adresse besitzt, können Sie Home Assistant so konfigurieren, dass es statt SQLite auf MariaDB zugreift.
Öffnen Sie dazu die Datei configuration.yaml
in Home Assistant, beispielsweise per File Editor Add-on oder Visual Studio Code:
recorder:
db_url: mysql://homeuser:safepassword@192.168.0.45:3306/homeassistant?charset=utf8mb4
yamlErsetzen Sie Benutzername, Passwort, IP-Adresse und Datenbanknamen durch Ihre eigenen Angaben. Achten Sie darauf, dass MariaDB vor Home Assistant geladen wurde.
Nach dem Speichern starten Sie Home Assistant neu. Wenn alles korrekt eingerichtet ist, werden neue Daten in der MariaDB-Datenbank gespeichert.
Schritt 10: Backups mit Proxmox
Proxmox erlaubt Snapshots und Backups von einzelnen Containern. Das heißt, Sie können den MariaDB-LXC jederzeit sichern – manuell oder zeitgesteuert:
- Wählen Sie in der linken Liste Ihren MariaDB-Container aus.
- Klicken Sie oben auf Backup.
- Wählen Sie den Speicherort (zum Beispiel „local“), den Modus (Snapshot empfohlen) und starten Sie den Vorgang.
Für automatische Backups können Sie im Datacenter unter Backup Zeitpläne definieren.
Wie Sie MariaDB via Docker installieren oder MariaDB via Kubernetes einrichten, erfahren Sie in weiteren Ratgebern.