Hallo zusammen,
bin gerade dabei das DbRep als regelmäßiges Backup meiner MariaDB einzurichten und habe nun erst mal etwas "rumgespielt".
Ich wollte mal gucken, wie ein tägliches Backup so läuft.
Dazu habe ich timestamp_begin und _end auf jeweils previous_day_begin und _end eingestellt.
Komischerweise spukt er mir im Serverside-Dump-File die Datensätze ab dem 13.10.2020 15:59:59 bis heute aus. Und heute ist der 23.11.2020. :o
Im Clientside-Dump ist es noch etwas kurioser.
Das optimizeTablesBeforeDump habe ich mal abgeschaltet, um schneller den Dump zu testen.
Habe ich einen Gedankenfehler oder etwas Essentielles vergessen?
Jetzt möchte ich noch erwähnen, dass ich vor kurzem von Sqlite auf MariaDB umgestiegen bin, weil mir die Sq abgegrätscht ist.
Anschließend musste ich mühsam und händisch die Rekonstruktion vornehmen. Dabei sind sicher Datensätze nicht ganz chronologisch in der DB gelandet. Im August fehlen mir heuer auch ein paar Datensätze.
Ich weiß nicht, ob das relevant ist.
Show Grants:
MariaDB [(none)]> show grants;
+--------------------------------------------------------------------------------------------------------+
| Grants for fhemuser@% |
+--------------------------------------------------------------------------------------------------------+
| GRANT FILE ON *.* TO `fhemuser`@`%` IDENTIFIED BY PASSWORD '*4FEB0FAA83855CCAE8C33DAD2A30F8873C192F00' |
| GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, INDEX ON `fhem`.* TO `fhemuser`@`%` |
+--------------------------------------------------------------------------------------------------------+
2 rows in set (0.002 sec)
bzw.
SqlResultRow_1
GRANTS FOR ROOT@LOCALHOST
2020-11-23 21:55:54
SqlResultRow_2
GRANT ALL PRIVILEGES ON *.* TO `root`@`localhost` IDENTIFIED BY PASSWORD '*4FEB0FAA83855CCAE8C33DAD2A30F8873C192F00' WITH GRANT OPTION
2020-11-23 21:55:54
SqlResultRow_3
GRANT PROXY ON ''@'%' TO 'root'@'localhost' WITH GRANT OPTION
2020-11-23 21:55:54
list
Internals:
CFGFN
DATABASE fhem
DEF logdb
FUUID 5fbc09dc-f33f-bfeb-49aa-a1898a9039d23f4e
FVERSION 93_DbRep.pm:v8.40.8-s22817/2020-09-21
LASTCMD sqlCmd show grants;
MODEL Client
NAME dbrep_logdb_daily
NOTIFYDEV global,dbrep_logdb_daily
NR 101686
NTFY_ORDER 50-dbrep_logdb_daily
ROLE Client
STATE done
TYPE DbRep
UTF8 1
HELPER:
DBLOGDEVICE logdb
GRANTS UPDATE,USAGE,INSERT,SELECT,DELETE
IDRETRIES 3
MINTS 2020-01-01 12:33:17
PACKAGE main
SQLHIST
VERSION 8.40.8
CV:
aggregation no
aggsec 1
destr 2020-11-22
dsstr 2020-11-22
epoch_seconds_end 1606085999
mestr 11
msstr 11
testr 23:59:59
tsstr 00:00:00
wdadd 86400
yestr 2020
ysstr 2020
DBREPCOL:
COLSET 1
DEVICE 64
EVENT 512
READING 64
TYPE 64
UNIT 32
VALUE 128
OLDREADINGS:
READINGS:
2020-11-23 21:55:54 SqlResultRow_1 GRANTS FOR ROOT@LOCALHOST
2020-11-23 21:55:54 SqlResultRow_2 GRANT ALL PRIVILEGES ON *.* TO `root`@`localhost` IDENTIFIED BY PASSWORD '*4FEB0FAA83855CCAE8C33DAD2A30F8873C192F00' WITH GRANT OPTION
2020-11-23 21:55:54 SqlResultRow_3 GRANT PROXY ON ''@'%' TO 'root'@'localhost' WITH GRANT OPTION
2020-11-23 21:55:54 sqlCmd show grants;
2020-11-23 21:55:54 sqlResultNumRows 2
2020-11-23 21:55:54 state done
Attributes:
dumpDirLocal /opt/fhem/backup/DbRep/daily
dumpDirRemote /opt/fhem/backup/DbRep/daily
optimizeTablesBeforeDump 0
room Server
timestamp_begin previous_day_begin
timestamp_end previous_day_end
useAdminCredentials 1
ZitatHabe ich einen Gedankenfehler oder etwas Essentielles vergessen?
Wahrscheinlich nur die Commandref dazu nicht gelesen. ;)
Die Attribute sind bei DbRep kontextsensitiv, d.h. sie gelten nicht unbedingt für jeden Befehl.
Deswegen habe ich im Bedarfsfall die relevanten Attribute bei jedem Befel aufgeführt.
Für den serverSide Dump sind das:
dumpDirRemote : das Erstellungsverzeichnis des Dumpfile auf dem entfernten Server
dumpCompress : Komprimierung des Dumpfiles nach der Erstellung
dumpDirLocal : Directory des lokal gemounteten dumpDirRemote-Verzeichnisses
dumpFilesKeep : Anzahl der aufzubwahrenden Dumpfiles
executeBeforeProc :ausführen FHEM Kommando (oder Perl-Routine) vor dem Dump
executeAfterProc : ausführen FHEM Kommando (oder Perl-Routine) nach dem Dump
optimizeTablesBeforeDump : Tabelloptimierung vor dem Dump ausführen
Eine Zeitabgrenzung wird bei den Dumps aus technischen Gründen nicht angewendet.
Bei dem Set exportToFile werden sie berücksichtigt. Die sinnvolle Anwendbarkeit ist aber vom zu exportierenden Datenumfang abhängig.
Argh. :-[
Danke DS!
Ich muss wohl das Lesen der commandref noch etwas üben.
Jedenfalls habe ich den Bezug relevante attr zum jeweiligen Befehl galant ignoriert oder nach "meinen Wünschen" ausgelegt.
Mit exportTofile läuft's natürlich auf Anhieb.