Forum: PC Hard- und Software Warum dauert die MariaDB Rücksicherung so lange


von Ate E. (drigo)


Angehängte Dateien:

Lesenswert?

Hallo Leute,

Auf meinem NAS (DS220+ 12GB RAM) habe ich MariaDB 10.3.37 installiert.
Ein Update der Version dürfen wir aufgrund einer Inkompatiblität mit 
einem anderen Programm nicht machen.

Das Arbeiten ist flott und auch eine Sicherung ist schnell erstellt.

AAABER:
Will man die DB zurücksichern, dauert es gefühlt ewig.
(DB Sicherungsdatei ungefähr 45 MB, Dauer ungefähr 1 Stunde)

Zurückgespielt wird mit folgendem Script:
1
BACKUPS=`find /volume1/Backups/CAO/Revert -name "MariaDBDump_*.gz"`
2
if ["$BACKUPS" -eq ""]
3
then echo "Keine Datei gefunden"; 
4
exit 1
5
fi
6
date "+Uhrzeit Beginn:%H:%M:%S"
7
gunzip < $BACKUPS | /volume1/@appstore/MariaDB10/usr/local/mariadb10/bin/mysql -uroot -p'KurzPfurtz017OPk!'
8
rm $BACKUPS
9
date "+Uhrzeit Ende:%H:%M:%S"
10
exit 0

Im Anhang die my.cnf vom NAS. (In den anderen ist nichts ausser dem Port 
drinnen)

Was läuft da falsch?

von Lu (oszi45)


Lesenswert?

Ohne jetzt jeden Schritt gelesen zu haben, kann ich Dir versichern, dass 
DB sichern und restore mühsam sein können, wenn man jeden Datensatz 
einzeln bearbeiten muß.

von (prx) A. K. (prx)


Lesenswert?

Ate E. schrieb:
> Will man die DB zurücksichern, dauert es gefühlt ewig.
> (DB Sicherungsdatei ungefähr 45 MB, Dauer ungefähr 1 Stunde)

Das kann auch 3 Tage dauern, wenn die DB etwas grösser ist, trotz SSDs 
als Platz für die Tablespaces. Und bei HDDs ist es naturgemäss weitaus 
langsamer als bei SSDs.

Dieser Backup ist allerdings ein SQL Dump, weshalb der Inhalt als SQL 
Kommandos eingelesen wird. Das ist der besste Weg, um Inkonsistenzen aus 
dem Weg zu gehen, aber mitnichten der schnellste Weg, Backups 
einzulesen.

: Bearbeitet durch User
von Ate E. (drigo)


Lesenswert?

Und wie kann ich den MySQL Dump am schnellsten wieder zurücklesen?

von (prx) A. K. (prx)


Lesenswert?

Mit SSD als Ziel. SQL auszuführen braucht halt Zeit und wenn du nur SQL 
als Backup hast, wirds nicht schneller.

Wenn du diese Situation vermeiden willst, solltest du eine Form des 
Backups verwenden, die nicht auf mysqldump basiert, sondern die 
Tablespaces kopiert. Das ist allerdings etwas von der Version abhängig, 
und ob MySQL oder MariaDB.

: Bearbeitet durch User
von Irgend W. (Firma: egal) (irgendwer)


Lesenswert?

Lu schrieb:
> wenn man jeden Datensatz einzeln bearbeiten muß.

Das ist hier genau die Frage, wie sehen deine gesicherten Daten aus?
Jedes SQL-Kommando einzeln und nicht im Blockmodus?
Wird ein etwaiger index zuvor ausgeschaltet und erst wenn alle Daten 
vollständig sind neu erzeugt?
Von wievielten Datensätzen wir hier überhaupt geredet?

Ich kenn es eher von mysqldump, da gibt es zig Optionen, die zum Teil 
erhebliche Auswirkung auf die Dauer haben können:
- https://dev.mysql.com/doc/refman/8.4/en/mysqldump.html

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.