roadmax
Goto Top

Mysqldump bei riesiger Tabelle

Hallo Zusammen,

wir haben eine MySQL-MyISAM-Tabelle mit rund 300M Einträgen, der Dump selber ist rund 80G groß. Die normale Sicherung läuft über einen replizierten Slave ohne Probleme. Ich möchte aber zur Sicherheit gerne 1x pro Woche den Master selber sichern. Wird aber in der DB diese Tabelle gesichert, friert das System für die Zeit der Tabellensicherung ein. Wie kann ich das optimieren? Ich setze u.a. die folgenden Befehle ein:
mysql -pXXXX -e "set global net_write_timeout=1200"
mysqldump --max_allowed_packet=1G --single-transaction --skip-lock-tables --quick

Umfeld:
Ubuntu 16.04LTS
Maria-DB: 10.0.38
RAM: 256G
SSD Storage

Gruß,
Roadmax

Content-Key: 1692783849

Url: https://administrator.de/contentid/1692783849

Printed on: April 18, 2024 at 01:04 o'clock

Member: Delta9
Delta9 Jan 05, 2022 at 15:45:44 (UTC)
Goto Top
Hallo Roadmax,

würde da mal auf einen Tablelock tippen. Der ist ja auch richtig, willst ja eine Konsistente Sicherung haben face-smile

P.S. Deine Maria-DB Version ist schon ein wenig aus dem Support ( 31. März 2019)

Gruß

Delta
Member: GrueneSosseMitSpeck
GrueneSosseMitSpeck Jan 05, 2022 at 20:36:54 (UTC)
Goto Top
--skip-lock-tables weglassen...

und alle Clients disconnecten. Und mal überlegen 80 GB ist ne Menge Holz selbst wenn das Ziel der Sicherung eine SLC Server SSD ist wird die Aktion minimal 20-30 Minuten laufen, auf TLC Consumer SSD s bricht die Schreibrate meist auf 100 MB/Sec zusammen wenn sie mal mehr als ein drittel voll sind, dann dauerts halt Stunden.

Und MySQL Dumps in der Regel mit dem Faktor 1ß-20 komprimierbar, ich wüde den Dump nicht direkt wegschreiben sondern pipen... in ein Gzip -7 oder -8 was schon eine relativ gute Kompression ergibt.