Hilfe bei Backup von mariaDB

Status
Für weitere Antworten geschlossen.

herf

Benutzer
Mitglied seit
12. Mrz 2017
Beiträge
4
Punkte für Reaktionen
0
Punkte
0
Hallo,

ich habe im Internet schon ein wenig recherchiert und habe versucht, nach folgender Anleitung meine MariaDB Datenbanken zu sichern: http://www.synology-wiki.de/index.php/Backup_der_MySQL-Datenbank_über_einen_cronjob
Das funktioniert leider nicht (die Anleitung ist allerdings auch für MySQL, habe für mariaDB nichts entsprechendes gefunden).

Alternativ gibt es zwar das Backup via Hyper Backup... da stört mich aber die Unübersichtlichkeit... es werden diverse .db Files angelegt, ich kann aber nicht erkennen, welche Datei was enthält. Hat jemand zufällig das o.g. Script an mariaDB angepasst und/oder weiß eine andere Lösung? Ich möchte einfach in meinem regulären Backup Verzeichnis (bzw. einem Unterverzeichnis) einige Backups meiner aktuellen Datenbank sichern, damit ich beispielsweise meine TTRSS Feeds auch nach einem Crash wiederherstellen kann.

Danke im Voraus für Eure Hilfe :)
 

rednag

Benutzer
Mitglied seit
08. Nov 2013
Beiträge
3.954
Punkte für Reaktionen
11
Punkte
104
Rich (BBCode):
]#!/bin/bash
#
# dieses Skript kann man beliebig oft ausführen
#
# Anzahl der Sicherungen die aufgehoben werden sollen
KEEP=10
BACKUPS=`find /volume1/Backup/Datenbanken -name "mysqldump-*.gz" | wc -l | sed 's/\ //g'`
while [ $BACKUPS -ge $KEEP ]
do
ls -tr1 /volume1/Backup/Datenbanken/mysqldump-*.gz | head -n 1 | xargs rm -f 
BACKUPS=`expr $BACKUPS - 1` 
done
DATE=`date +%Y%m%d%H%M%S`
rm -f /volume1/Backup/Datenbanken/.mysqldump-${DATE}.gz_INPROGRESS
/bin/mysqldump --opt -uroot -pxxx --all-databases | gzip -c -9 > /volume1/Backup/Datenbanken/.mysqldump-${DATE}.gz_INPROGRESS
mv -f /volume1/Backup/Datenbanken/.mysqldump-${DATE}.gz_INPROGRESS /volume1/Backup/Datenbanken/mysqldump-${DATE}.gz
exit 0

Bei den roten XXX kommt das PW von MariaDB rein.
 

herf

Benutzer
Mitglied seit
12. Mrz 2017
Beiträge
4
Punkte für Reaktionen
0
Punkte
0
So, der erste Fehler wäre schon mal gefunden :) Ich hatte "-uroot -meinpasswort" statt "-uroot -pmeinpasswort"

Trotzdem bekomme ich diesen Fehler:
./mysql_backup.sh: line 13: /usr/syno/mysql/bin/mysqldump: No such file or directory
 

rednag

Benutzer
Mitglied seit
08. Nov 2013
Beiträge
3.954
Punkte für Reaktionen
11
Punkte
104
Beim reinkopieren ist mir ein Fehler unterlaufen. Mach mal das "]" am Anfang raus.
Vergleich doch mal das Script. Bei mir gibt es die bemängelte Zeile auch garnicht.
 

herf

Benutzer
Mitglied seit
12. Mrz 2017
Beiträge
4
Punkte für Reaktionen
0
Punkte
0
Ich habe parallel gerade den Fehler gefunden... Anscheinend stimmt bei meiner DS einfach der Pfad nicht. Ich habe statt dem im ursprünglichen Script angegebenen Pfad nun "/usr/bin/mysqldump" eingefügt und es _scheint_ zu funktionieren (gz-File wird erstellt, ich muss nur noch den Inhalt auf Richtigkeit überprüfen)

Vielen Dank für die Hilfe =)
 

Crashandy

Benutzer
Mitglied seit
14. Mai 2014
Beiträge
265
Punkte für Reaktionen
84
Punkte
28
Hallo,

dieses Script arbeitet bei mir seit ewigen Zeiten sehr zuverlässig.
Was mach ich aber nun, um die Datenbanken von MariaDB 10 zu sichern?
Wenn MariaDB 5 gestoppt ist, dann kommt als Ergebnis eine Datei ohne Inhalt heraus.

Gruß
Andy
 

Crashandy

Benutzer
Mitglied seit
14. Mai 2014
Beiträge
265
Punkte für Reaktionen
84
Punkte
28
Meine Frage hat sich erledigt, da ich es nun doch selbst gefunden habe.
Im Script muss nur eine Option eingefügt werden und es funktioniert wieder sehr zuverlässig.
Änderung der Scriptzeile für MariaDB 10:
/bin/mysqldump --opt -uroot -pxxx --socket=/run/mysqld/mysqld10.sock --all-databases | gzip -c -9 > /volume3/Backups/MySQL-Backup/.mysqldump-${DATE}.gz_INPROGRESS
 
Zuletzt bearbeitet:

rednag

Benutzer
Mitglied seit
08. Nov 2013
Beiträge
3.954
Punkte für Reaktionen
11
Punkte
104
Das scheint bei mir nicht zu funktionieren. Es kommt zwar ein Dump dabei raus, aber immer nur 20 KB groß.
 

Crashandy

Benutzer
Mitglied seit
14. Mai 2014
Beiträge
265
Punkte für Reaktionen
84
Punkte
28
@rednag
Bei mir funktioniert es perfekt. Allerdings habe ich MariaDB 5 noch nicht deinstalliert, es sind nur keine Datenbanken mehr drin. Eventuell ist das ja der Fehler.
Im Kopf meines Dumps ist zu sehen, dass er scheibar mit der 5er Version die 10er Version sichert.

-- MySQL dump 10.14 Distrib 5.5.54-MariaDB, for Linux ()
--
-- Host: localhost Database: localhost
-- ------------------------------------------------------
-- Server version 10.0.30-MariaDB
 

rednag

Benutzer
Mitglied seit
08. Nov 2013
Beiträge
3.954
Punkte für Reaktionen
11
Punkte
104
Das Script sollte doch so in Ordnung sein oder übersehe ich da was?

Rich (BBCode):
#!/bin/bash
#
# dieses Skript kann man beliebig oft ausführen
#
# Anzahl der Sicherungen die aufgehoben werden sollen
KEEP=10
BACKUPS=`find /volume1/Backup/Datenbanken -name "mysqldump-*.gz" | wc -l | sed 's/\ //g'`
while [ $BACKUPS -ge $KEEP ]
do
ls -tr1 /volume1/Backup/Datenbanken/mysqldump-*.gz | head -n 1 | xargs rm -f 
BACKUPS=`expr $BACKUPS - 1` 
done
DATE=`date +%Y%m%d%H%M%S`
rm -f /volume1/Backup/Datenbanken/.mysqldump-${DATE}.gz_INPROGRESS
/bin/mysqldump --opt -uroot -pxxx --socket=/run/mysqld/mysqld10.sock --all-databases | gzip -c -9 > /volume1/Backup/Datenbanken/.mysqldump-${DATE}.gz_INPROGRESS
mv -f /volume1/Backup/Datenbanken/.mysqldump-${DATE}.gz_INPROGRESS /volume1/Backup/Datenbanken/mysqldump-${DATE}.gz
exit 0

Wenn ich das Script über den Aufgabenplaner ausführe wird der Export auch geschrieben, ist aber immer nur 20 bytes groß.
 

Crashandy

Benutzer
Mitglied seit
14. Mai 2014
Beiträge
265
Punkte für Reaktionen
84
Punkte
28
@rednag
Das Script ist in Ordnung. Ich habe alle Zeilen verglichen.
Noch einmal:
Hast Du MariaDB 5 auch wirklich nicht deinstalliert?
Meine Vermutung im letzten Post war genau richtig.
Ich habe es jetzt nachvollziehen können.
- MariaDB 5 deaktiviert -> Script funktioniert ordnungsgemäß
- MariaDB 5 deinstalliert -> Dumpdatei nur der Dateiname (20 bytes)
- MariaDB 5 neu installiert -> Script funktioniert ordnungsgemäß
Wichtig!
Benutzer root muss in beiden Datenbanken das gleiche Passwort haben.

Die sauberste Lösung wäre natürlich, wenn man die ganze Sache ohne MariaDB 5 hinbekäme.
Eventuell kann uns ja Jemand erklären wo die mysqldump für MariaDB 10 liegt.
MariaDB 5 -> /bin/mysqldump
MariaDB 10 -> ???

Gruß
Crashandy
 
Zuletzt bearbeitet:

Crashandy

Benutzer
Mitglied seit
14. Mai 2014
Beiträge
265
Punkte für Reaktionen
84
Punkte
28
Ich habe vorerst eine Lösung für das Script gefunden.
"/bin/mysqldump" ist ein Symlink zu der Datei "/volume1/@appstore/MariaDB/usr/bin/mysqldump"
Für MariaDB 10 liegt die "mysqldump" hier: "/volume1/@appstore/MariaDB10/usr/local/mariadb10/bin/mysqldump"
Im Script nun "/bin/mysqldump" mit "/volume1/@appstore/MariaDB10/usr/local/mariadb10/bin/mysqldump" ersetzen und das Script funktioniert nun auch mit deinstalliertem MariaDB 5.
Vermutlich würde eine komplette Deinstallation beider MariaDB-Versionen und eine Neuinstallation von MariaDB 10 auch neue Symlinks in das Verzeichnis /bin schreiben. Dies weiß ich aber nicht und ich möchte es auch nicht ausprobieren.
Mit dem realen Dateipfad funktioniert jedenfalls das Script und das reicht mir so.

Hier das Ergebnis meines Dumps:
-- MySQL dump 10.15 Distrib 10.0.30-MariaDB, for Linux ()
--
-- Host: localhost Database:
-- ------------------------------------------------------
-- Server version 10.0.30-MariaDB


Gruß
Crashandy
 

Crashandy

Benutzer
Mitglied seit
14. Mai 2014
Beiträge
265
Punkte für Reaktionen
84
Punkte
28
Hier noch zwei andere Lösungen:
1. Den vorhandenen Symlink /usr/bin/mysqldump bearbeiten und den neuen Pfad eingeben, dann bleibt im Script "/bin/mysqldump" stehen.
2. Einen neuen Symlink /usr/bin/mysqldump10 anlegen, dann das Script entsprechend in "/bin/mysqldump10" ändern.

screen_002.png

screen_001.png
 

rednag

Benutzer
Mitglied seit
08. Nov 2013
Beiträge
3.954
Punkte für Reaktionen
11
Punkte
104
Ich habe vorerst den Tipp von #12 probiert. Sieht schon besser aus. Das *.gz ist 7 MB groß. Nach dem Entpacken mit 7Zip kommt eine "Datei" mit rund 30 MB raus.
Das kommt grob überschlagen mit der gemeldeten Größe in PMA nicht im geringsten hin, da meine Datenbank von Kodi alleine schon rund 45 MB hat.
Auch kann ich diese "Datei" nicht weiter entpacken.

Unbenannt.PNG
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat