software:middleware:datenbank
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
software:middleware:datenbank [2019/12/01 19:33] – mysqldump ungepackt jau | software:middleware:datenbank [2023/11/12 09:14] (aktuell) – [Middleware-Datenbank] Speicher pro Datensatz jau | ||
---|---|---|---|
Zeile 11: | Zeile 11: | ||
<note important> | <note important> | ||
+ | |||
+ | Der Speicherbedarf eines Satzes in den Tabellen data und aggregate beträgt 24Byte. | ||
===== Datenbank administrieren ===== | ===== Datenbank administrieren ===== | ||
- | Die einfachste | + | Die beste Möglichkeit besteht darin über externen SQL-Client (z.B. [[https:// |
Als Benutzername/ | Als Benutzername/ | ||
+ | |||
+ | Phphmyadmin wäre eine Möglichkeit, | ||
===== Datenbank sichern ===== | ===== Datenbank sichern ===== | ||
+ | |||
+ | ==== Mariadb Backup ==== | ||
+ | |||
+ | Auf vielen Linuxdistributionen wird mysql inzwischen durch MariaDB zur Verfügung gestellt. Diese DB besitzt ein Backup-Tool welches in der Lage ist ein konsistentes Backup zu erzeugen, während die Datenbank beschrieben wird. | ||
+ | |||
+ | Auf Debian und Ubuntu muss dieses Tool nachinstalliert werden: | ||
+ | |||
+ | sudo apt install mariadb-backup | ||
+ | |||
+ | Ein vollständiges Backup wird erzeugt mittels | ||
+ | |||
+ | sudo mariabackup --backup --target-dir=< | ||
+ | | ||
+ | Das Backup wird unter < | ||
+ | |||
+ | sudo mariabackup --prepare --target-dir=< | ||
+ | | ||
+ | # Datenbank stoppen (Ubuntu) | ||
+ | sudo systemctl stop mariadb | ||
+ | | ||
+ | # Alle Datenbankdateien löschen (siehe / | ||
+ | sudo rm -rf / | ||
+ | | ||
+ | # Backup zurückspielen | ||
+ | sudo mariabackup --copy-back --target-dir=< | ||
+ | | ||
+ | # Besitzer der Dateien einrichten | ||
+ | sudo chown -R mysql:mysql / | ||
+ | | ||
+ | # Datenbank starten | ||
+ | sudo systemctl start mariadb | ||
+ | | ||
+ | Mit Hilfe des Tools sind darüber hinaus sowohl inkrementelle als auch Delta-Backups möglich. Weitere Informationen finden sich im [[https:// | ||
+ | |||
==== 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. | 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 ==== | ||
Zeile 43: | Zeile 88: | ||
===== Datenbank zurückspielen ===== | ===== Datenbank zurückspielen ===== | ||
- | + | Um sicher zu gehen das keine Konflikte entstehen sollten während des Restore keine neuen Daten eintreffen. D.h. Middleware deaktivieren (vzlogger kann während dessen weiterlaufen) und die Cronjobs für die Aggregation abstellen. Auch alle Scripte stoppen die direkt auf die Datenbank zugreifen. | |
- | mysql -uvz -pdemo volkszaehler < 20131124.mysql_backup | + | < |
< | < | ||
+ | Falls ein Komplettbackup mit Störung abgebrochen wird kann das an Abhängigkeiten zu Tabellen liegen die noch nicht aufgebaut wurden. In dem Fall auf die separate Sicherung der betreffenden Tabelle zurückgreifen und zuerst wiederherstellen. | ||
===== 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.1575225225.txt.gz · Zuletzt geändert: 2019/12/01 19:33 von jau