Du suchst nach einer stabileren und leistungsfähigeren Datenbank für deine Home Assistant-Installation? Dann bist du bei MariaDB genau richtig!
In diesem Video zeige ich dir, wie du die Standard SQLite Datenbank von Home Assistant auf MariaDB umstellen kannst 🙌
Hinweis
Inzwischen würde ich eher empfehlen, im Standard (SQLite) zu bleiben! Wenn du MariaDB schon eingerichtet hast und zurückmigrieren willst, schau gerne mal ganz unten hier im Beitrag 👍
Inhaltsverzeichnis
- Voraussetzungen
- Benutze Repos / Links
- Achtung bei Sonderzeichen!
- Größe der MariaDB als Entität
- Datenmigration von SQLite zur MariaDB?
- Genereller Hinweis zu Backups
- Migration zurück zur SQLite
- Geräte für HA
- Fazit
Voraussetzungen
Eine der 3 Installationsvarianten:
- Home Assistant Installation auf Raspberry Pi
- Home Assistant auf Intel NUC installieren (Generic x86-64) 🚀
- Home Assistant als virtuelle Maschine auf Proxmox installieren (VM)
Benutze Repos / Links
Achtung bei Sonderzeichen!
Bei bestimmten Sonderzeichen im Passwort für die MariaDB kann es sein, dass der Recorder keine Verbindung zur MariaDB aufbauen kann!
Probiere im Zweifelsfall am besten mal ein Kennwort nur mit Zeichen und Buchstaben.
Der “Netzwerkverkehr” zum Add-on ist ohnehin nicht wirklich relevant, was Sicherheit angeht, da die Kommunikation nur im internen Docker-Netz von HA erfolgt 😉
Größe der MariaDB als Entität
Damit du die Gesamtgröße der MariaDB in einer Entität speichern und anzeigen kannst, benötigst du unter Integrationen eine neue SQL-Entität:
Die Datenbank URL ist dieselbe wie unter Recorder in der Configuration.yaml, die “Select Abfrage” sowie size_mb
& MB
sind gleich.
SELECT table_schema AS 'db_name', ROUND(SUM( data_length + index_length ) / 1024 / 1024, 2) AS 'size_mb' FROM information_schema.TABLES WHERE table_schema='homeassistant'
Datenmigration von SQLite zur MariaDB?
Hier hat der Kollege von MeineDigitaleWelt ein hervorragendes Video gemacht.
Der Schritt ist völlig optional, wurde aber in der Vergangenheit oft nachgefragt:
Genereller Hinweis zu Backups
In Ausnahmefällen kommt es vor, dass die Maria-DB so beschäftigt ist, dass das DB-Backup korrumpiert wird. Ich hatte das Problem noch nie, in den Kommentaren wurde es aber schon einmal genannt.
Um das zu verhindern, kannst du kurz bevor du das Backup durchführst einmal das Add-on Maria-DB stoppen und den Watchdog deaktivieren → Home Assistant Backup erstellen → Wiederherstellen → Add-on auf dem neuen Host wieder starten und Watchdog aktivieren.
Somit kann man einfach zu 1000 % sichergehen, dass zumindest bei der Home Assistant Migration auf eine neue Hardware oder VM die Datenbank zu 100 % passt.
Migration zurück zur SQLite
Wenn du wieder zurückstellen möchtest auf die Standard SQLite Datenbank, habe ich auch dafür ein Video.
Befehle aus dem Video
- Verbinden der SSH-Session:
ssh NUTZERNAME@IP.DEINES.HOME.ASSISTANT
- Virtuelle Python Umgebung anlegen:
python3 -m venv venv
- Aktivieren der Umgebung (Testweise):
source venv/bin/activate
- Installation des Skripts:
pip install mysql-to-sqlite3
- Session einmal trennen:
exit
- Erneutes Verbinden der SSH-Session:
ssh NUTZERNAME@IP.DEINES.HOME.ASSISTANT
- Stoppen von Home Assistant Core:
ha core stop
- Aktivieren der Umgebung:
source venv/bin/activate
- Befehl zum Umwandeln der MariaDB in SQLite:
mysql2sqlite -f /config/home-assistant_v2.db -d DATENBANKNAME -u NUTZERNAME -p -V --use-buffered-cursors
- Session nach erfolgreicher Umwandlung trennen:
exit
- Erneutes Verbinden der SSH-Session:
ssh NUTZERNAME@IP.DEINES.HOME.ASSISTANT
- Löschen der vorher angelegten Python-Umgebung:
rm -rf venv
- In den Config-Ordner wechseln:
cd /config
- Inhalte des Ordners auflisten:
ls
- Editieren der Configuration.yaml:
nano configuration.yaml
- Home Assistant wieder starten:
ha core start
Geräte für HA
Mehr Geräte für Home Assistant, HACS oder auch Alexa, Google Home, HomeKit sowie Homebridge findest du in unserem Smart Home Gerätefinder!
Fazit
Also, worauf wartest du noch? Probiere MariaDB einfach selbst aus.
Oder Lieber auch nicht, da die Systemstandard-Datenbank SQLite inzwischen auch extrem schnell geworden ist.
Trotzdem bleibt MariaDB eine großartige Datenbank, die deiner Home Assistant-Installation die Stabilität und Leistung verleiht, die auch mit der Standard-Datenbank einher gehen. Und wenn du Hilfe bei den ersten Schritten brauchst, sieh dir das Video zur Installation von MariaDB oder zur Migration zurück zur SQLite einfach noch mal an 😀
Vielen Dank fürs Anschauen!
Jens Gabler
vor 0 Sekunden
Hallo simon42, ich sage mal, dank deines Kanals bin ich mal wieder bei “smarthome” gelandet. Ich war eine Zeit lang mit mehr oder weniger Freude mit Fhem unterwegs.Aber deine Videos haben mich neugierg auf HA gemacht. Die sind schon wirklich gut gemacht und Hut ab, welche Arbeit du da rein steckst. Also habe ich mir, trotz das die meisten Sachen in englisch sind (meins ist nicht so doll) meinen Nuc genommen und mal ausprobiert. Anfänglich ging es auch prima. Schon spannend wie viel HA automatisch erkannt hat. Aber ich habe auch gleich 2 Probleme. Das eine betrifft die Installtion der MariaDb. Ich kann die Software installieren, aber leider kommt bei mir unter dem Punkt “Konfiguration” der folgende Text: Für dieses Add-on gibt es keine Konfiguration. Also nichts, mit dem du dich herumschlagen musst… Gut, denke ich mir und will starten, dann kommt aber : Missing required option ‘password’ in MariaDB (core_mariadb). Was mache ich falsch? Und wenn ich einmal dabei bin. Das zweite Problem ist bei der Installtion von ESPHome. Das kann auch installieren, aber es will einfach nicht starten. Villeicht kann ich ja irgendiwe Hilfe bekommen. Oder sollte ich damit eher ins Forum? Trotz alledem, mache mit deinen Videos so weiter. Die sind prima
Du hast MariaDB als Add-on installiert?
Wie im Video bei 2:04 zu sehen, muss die Konfig vor dem Starten ausgefüllt werden.
Wenn’s nicht geht, probiere es mal im Chrome Browser.
Hab nur nen Pi4, hatte auch den Gedanke: “gescheite Datenbank ist immer gut.” nach zwei Wochen test, blieb mein Fazit eher so “na ja”. Wenn man sie nicht unbedingt braucht, macht die HA “interne” auch viel richtig. Gerade jetzt in 2023.4, wo sie laut Patch Notes nochmal eine Schippe nachgelegt hat. Mein Fazit: nicht grundlos installieren.
ESPHome. Schau mal unter Einstellungen => Addons => ESPHome => Log, was er zu meckern hat.
kann mich den Worten nur anschliessen.
Sicherlich ist die maria db in bestimmten Situationen schneller, dafür bleibt die mysql DB ca 50% kleiner. Mit ca. 1000 Entitäten bringt mir die maria db oder postgres DB keinen Vorteil auf dem PI4.
Bewusst bleibe ich bei dem PI4, da der Stromverbrauch merklich niedriger liegt als bei jedem anderen System .-) Stabilitätsprobleme kann ich seit 2 Jahren nicht feststellen…
Gruss
@maxe. Das ist ja mein Problem, daß ich da nicht zum Eingeben komme. Gibt es denn Empfehlungen welchen Browser verwenden sollte? Ich verwende Modzilla, werde dann aber mal Chrom probieren.