Datenbanken richtig sichern

Sichern von Datenbanken:

Bezogen auf einer normalen LAMP- oder LEMP -Installation. Für die Dockerversion von MariaDB sind die Befehle rot gekennzeichnet! Der Docker heißt in meinem Fall mariadb. Allerdings habe ich Probleme, diese wiederherzustellen! Daher also bitte unbedingt testen!

Ich zeige das an dem Beispiel einer vorhandenen Datenbank Namens      nextclouddatabase    mit dem Root-Passwort    123456

Zuerst einen Freigegebenen Ordner erstellen. In meinem Fall ist das    Backup-Database   . Zugriffsrechte beachten! Diesen Ordner könnt ihr auch gleich als Samba-Freigabe bereitstellen, um bei einem Restore Zugriff auf die Daten zu haben.

In OMV4 unter „Geplante Aufgaben“ folgenden Befehl für die Sicherung der Nextcloud-Datenbank hinzufügen

mysqldump -u root -p123456 nextclouddatabase | gzip > /sharedfolders/Backup-Database/`date +%Y-%m-%d-%H+%M+%S`-nextclouddatabase.sql.gz
docker exec mariadb /usr/bin/ mysqldump -u root -p123456 nextclouddatabase | gzip > /sharedfolders/Backup-Database/`date +%Y-%m-%d-%H+%M+%S`-nextclouddatabase.sql.gz

Den Zeitpunkt der Sicherung wählt ihr nach eueren belieben. Ich sichere momentan Täglich. Zusätzlich zu der Datenbank oder den Datenbanken auch folgenden Befehl verwenden. Damit werden auch die Benutzerkonten mit gesichert. Was würde das auch bringen, wenn die Datenbanken vorhanden sind und die Benutzerkonten mühseelig mit Hand eingetragen werden müssten.

mysqldump -u root -p123456 mysql | gzip > /sharedfolders/Backup-Database/`date +%Y-%m-%d-%H+%M+%S`-mysql.sql.gz
docker exec mariadb /usr/bin/ mysqldump -u root -p123456 mysql | gzip > /sharedfolders/Backup-Database/`date +%Y-%m-%d-%H+%M+%S`-mysql.sql.gz

Das war auch schon der Sicherungsprozess. Wendet den ersten Befehl für all Eure Datenbanken an. Jede Datenbank ein mysqldump-Befehl.

Wiederherstellen von Datenbanken:

Das erledigte ich bisher in phpMyAdmin und funktioniert in MyWebSQL identisch. Jede Datenbank, die wiedehergestellt werden soll, muss Namentlich identisch angelegt sein. Dabei spielt es keine Rolle, ob diese leer ist oder schon Daten beinhaltet. Wählt dann die Datenbank   nextclouddatabase   aus, geht auf Importieren, dann auf Durchsuchen und wählt über die Samba-Freigabe die   nextclouddatabase.sql.zip   aus und drückt ok. Die Datenbank wird wiederhergestellt. Habt ihr das für alle Datenbanken erledigt, denkt daran, die   mysql.sql.gz   zu importieren, damit auch die Benutzerkonten mit den jeweiligen Zugriffsrechten wieder verfügbar sind. Das wars auch schon. Ich empfehle, die Sicherungsdateien separat noch extern auf einem anderen Datenträger zu legen. Nur zur Sicherheit, falls die Datenplatte(n) oder der ganze Server (warum auch immer) einen Defekt erleidet.

Zur Info:

Alle Versuche, die Datenbanken im phpMyAdmin mit   Export   zu tätigen, schlugen beim Import fehl. Im MyWebSQL habe ich das nie getestet, weil mit den mysqldump-Befehlen schon die einfachste Möglichkeit gezeigt wurde.

Erstelle deine Website mit WordPress.com
Jetzt starten