FHEM Forum

FHEM => Automatisierung => Thema gestartet von: cwagner am 01 April 2024, 09:29:05

Titel: Daten aus einem Backup-SQL an laufenden Datenbank anhängen
Beitrag von: cwagner am 01 April 2024, 09:29:05
Dank dbRep (bzw. seinem Modulautor!) habe ich nach einem System-Crash einen Backup der MariaDB auf externen Laufwerk.
Nach Neubau des des Hausservers from scratch suche ich nun nach einer Möglichkeit, diese Sicherung, die ich bereits ins Backup-Verzeichnis kopiert habe, an die bereits einige Tage laufende erneuerte MariaDB anzuhängen. Verschiedene Versuche haben nicht recht geklappt. Sowohl mit dbRep (der überschreibt dann die "neue" Datenbank) wie mit HeidiSQL (klar, dafür darf ich hier keine Hilfe erwarten) hab' ich es nicht recht verstanden.
Hat jemand dieses Szenario schon mal durchgespielt und hat hilfreiche Tipps?

Herzliche Grüße
Christian
Titel: Aw: Daten aus einem Backup-SQL an laufenden Datenbank anhängen
Beitrag von: DS_Starter am 01 April 2024, 09:57:31
Moin Christian,

dafür gibt es mit DbRep verschiedene Möglichkeiten je nach Größe des Backups.
Zunächst mal brauchst du das Backup als laufende Datenbank. Dafür erstellt du dir einfach eine neue(weitere) Datenbank und bindest die mit DbLog in FHEM ein. In diese DB aber nichts loggen.
Die Definition dafür könnte so aussehen:

define LogOld DbLog ./mariahelp.conf aaaaaa:bbbbbb

Nun erstellst du dir noch ein DbRep Device für diese DB (Rep.LogOld). Mit diesem Device (oder HeidiSQL) machst du zunächst ein Restore deines Backups in diese Hilfs-DB.

Jetzt hast du verschiedene Optionen:

- verwenden von DbRep syncStandby
  set Rep.LogOld syncStandby <DbLog-Device aktuelle DB>

  In der Hilfe (und Wiki) findest du Hinweise wie man alle oder auch bestimmte Datensätze portioniert in deine laufende
  DB übertragen kannst. (Hinweis: In diesem Kontext ist deine aktuelle (loggende) DB die Standby-Datenbank!)

- Export/Import
  Auf dem Hilfs DbRep die Daten exportieren -> set Rep.LogOld exportToFile
  Und dann dieses File mit einem DbRep was mit der aktuellen (aktiven) DbLog verbunden ist importieren ->
  set ... importFromFile

  Auch hier gibt es wieder verschiedene Filtermöglichkeiten um portionsweise zu arbeiten.
  Im Wiki (https://wiki.fhem.de/wiki/DbRep_-_Reporting_und_Management_von_DbLog-Datenbankinhalten#Datens%C3%A4tze_(Devices)_von_einer_Datenbank_in_eine_andere_umziehen_(Export/Import)) gibts weitere Infos.

Vor solchen Manipulationen immer für ein valides Backup der aktuellen DB sorgen!

Grüße,
Heiko
Titel: Aw: Daten aus einem Backup-SQL an laufenden Datenbank anhängen
Beitrag von: cwagner am 01 April 2024, 12:10:21
Vielen Dank, Heiko, für diese ausführliche Hilfestellung. Das werde ich jetzt mal systematisch durchspielen. Das wäre - glaube ich auch - vielleicht auch eine Ergänzung im Wiki wert. Ich könnte das mit Hilfe Deines Textes auch übernehmen. Was meinst Du

Christian
Titel: Aw: Daten aus einem Backup-SQL an laufenden Datenbank anhängen
Beitrag von: DS_Starter am 01 April 2024, 13:04:31
ZitatDas wäre - glaube ich auch - vielleicht auch eine Ergänzung im Wiki wert. Ich könnte das mit Hilfe Deines Textes auch übernehmen. Was meinst Du
Das kannst du gern machen Christian. Du kannst zB. bei den Praxisbeispielen dein Problem und den von dir duchgeführten Lösungsweg für andere User festhalten.

LG,
Heiko