Daten aus einem Backup-SQL an laufenden Datenbank anhängen

Begonnen von cwagner, 01 April 2024, 09:29:05

Vorheriges Thema - Nächstes Thema

cwagner

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
PI 2B+/3B+ Raspbian 12, Perl 5.36.0, FHEM 6.3: 295 Module in ConfigDB: Steuerung Heizkessel, FBH, Solarthermie, kontr. Lüftung mit WRG. Smarthome u.a. HMCUL, 1-Wire (FT232RL ; DS2480B), EnOcean (TCM EPS3), MQTT2. DOIF, PID20, Threshold, OWX; Micropelt IRTV, Volkszähler, SolarForecast; MariaDB

DS_Starter

#1
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 gibts weitere Infos.

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

Grüße,
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

cwagner

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
PI 2B+/3B+ Raspbian 12, Perl 5.36.0, FHEM 6.3: 295 Module in ConfigDB: Steuerung Heizkessel, FBH, Solarthermie, kontr. Lüftung mit WRG. Smarthome u.a. HMCUL, 1-Wire (FT232RL ; DS2480B), EnOcean (TCM EPS3), MQTT2. DOIF, PID20, Threshold, OWX; Micropelt IRTV, Volkszähler, SolarForecast; MariaDB

DS_Starter

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
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter