software:middleware:datenbank
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungNächste ÜberarbeitungBeide Seiten der Revision | ||
software:middleware:datenbank [2016/02/20 12:32] – jau | software:middleware:datenbank [2021/05/06 12:12] – [Komplettbackup mit mysqldump] Tabellen separat sichern jau | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ===== Middleware-Datenbank ===== | + | ====== Middleware-Datenbank |
Für die Speicherung der Daten wird eine Datenbank eingesetzt. Da nahezu jede Datenbank dazu verwendet werden kann, wird hier beispielhaft nur die Verwendung von MySQL beschrieben. MySQL ist eine kostenlose Datenbank für viele Betriebssysteme und kann auch auf den hier interessanten Kleinstrechnern unter Linux betrieben werden. | Für die Speicherung der Daten wird eine Datenbank eingesetzt. Da nahezu jede Datenbank dazu verwendet werden kann, wird hier beispielhaft nur die Verwendung von MySQL beschrieben. MySQL ist eine kostenlose Datenbank für viele Betriebssysteme und kann auch auf den hier interessanten Kleinstrechnern unter Linux betrieben werden. | ||
- | Das Datenbankschema für den Volkszähler ist einfach. Es besteht aus vier Tabellen: | + | Das Datenbankschema für den Volkszähler ist einfach. Es besteht aus fünf Tabellen: |
- | * data: Tabelle der Datenwerte mit Zeitstempel und Zuordnung zum Anzeigegerät | + | * data: Tabelle der Datenwerte mit Zeitstempel und Zuordnung zum Messgerät/ |
- | * entities: Die Anzeigegeräte | + | * entities: Die Messgeräte |
- | * entities_in_aggregator: | + | * properties: Die Bezeichnung und andere Eigenschaften der Messgeräte |
- | * properties: Die Bezeichnung und andere Eigenschaften der Anzeigegeräte | + | * entities_in_aggregator: |
+ | * aggregate: Verdichtete Datenwerte, zum schnelleren Anzeigen eines längeren Zeitraums | ||
- | (das datenbankschema | + | <note important> |
- | ==== Datenbank administrieren ==== | + | ===== Datenbank administrieren |
Die einfachste Möglichkeit besteht darin, das ganze über die Webobefläche zu administrieren. Für den Fall des Rasperrpi ist das dann : < | Die einfachste Möglichkeit besteht darin, das ganze über die Webobefläche zu administrieren. Für den Fall des Rasperrpi ist das dann : < | ||
- | Als Benutzername/ | + | Als Benutzername/ |
- | ==== Datenbank sichern ==== | + | ===== Datenbank sichern |
- | === Komplettbackup mit mysqldump === | + | ==== Komplettbackup mit mysqldump |
Die Standardanwendung | Die Standardanwendung | ||
- | < | + | < |
Als Ziel taugt jedes gemountete Verzeichnis, | Als Ziel taugt jedes gemountete Verzeichnis, | ||
<note important> | <note important> | ||
+ | Eine solche Sicherung ist Klartext und kann recht Umfangreich werden. Speicherplatz spart man indem man die Sicherung direkt komprimiert. | ||
+ | < | ||
+ | Sqldump nimmt beim Erstellen allerdings keinerlei Rücksicht auf Abhängigkeiten in der Struktur. Das führt zu Abbruch des restore und erfordert viel manuelle Nacharbeit. Daher ist es ratsam die wichtigsten Tabellen separat zu sichern. | ||
+ | < | ||
+ | mysqldump -uvz -pdemo volkszaehler entities_in_aggregator > mysql_backup_aggregator.sql | ||
+ | mysqldump -uvz -pdemo volkszaehler properties > mysql_backup_properties.sql</ | ||
+ | Die sind von überschaubarer Größe und brauchen nicht gepackt werden. | ||
+ | |||
+ | |||
- | === mysqldump per ssh === | + | ==== mysqldump per ssh ==== |
Möchte man der SD-Karte im Rasperry unnötige Schreibzugriffe ersparen kann man auch über ssh auf einen Backuprechner sichern. | Möchte man der SD-Karte im Rasperry unnötige Schreibzugriffe ersparen kann man auch über ssh auf einen Backuprechner sichern. | ||
< | < | ||
Zeile 33: | Zeile 43: | ||
Achtung: bevor das Script funktioniert, | Achtung: bevor das Script funktioniert, | ||
- | === Inkrementelles Backup mit dbcopy === | + | ==== Inkrementelles Backup mit dbcopy |
Möchte man die Nachteile von mysqldump umgehen bietet sich [[software: | Möchte man die Nachteile von mysqldump umgehen bietet sich [[software: | ||
- | ==== Datenbank zurückspielen ==== | + | ==== Backup per phpMyAdmin ==== |
+ | Unter phpMyAdmin hat man grundsätzlich die Möglichkeit teilweise oder auch ganze Datenbanken zu sichern. Allerdings unterliegt PHP als Skriptsprache starken Restriktionen welche das Zurückspielen eines Backups über phpMyAdmin erschweren oder sogar unmöglich machen. | ||
+ | |||
+ | ===== Datenbank zurückspielen | ||
mysql -uvz -pdemo volkszaehler < 20131124.mysql_backup | mysql -uvz -pdemo volkszaehler < 20131124.mysql_backup | ||
Zeile 42: | Zeile 55: | ||
- | ==== Datenbank nach CSV exportieren ==== | + | ===== Datenbank nach CSV exportieren |
- | Um die Daten sich in Excel oder Openoffice anzusehen, ist es sinnvoll diese nach CSV zu exportieren. | + | Um die Daten sich in Excel oder Openoffice anzusehen, ist es sinnvoll diese nach CSV zu exportieren. |
< | < | ||
#!/bin/bash | #!/bin/bash |
software/middleware/datenbank.txt · Zuletzt geändert: 2023/11/12 09:14 von jau