"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

sql dump von datenbank im image einer platte

wergor 25.08.2021 - 13:11 4077 7
Posts

wergor

connoisseur de mimi
Avatar
Registered: Jul 2005
Location: graz
Posts: 4028
die system-ssd meines servers hat die letzten monate immer wieder probleme gemacht, ich habe sie vor ein paar wochen gegen eine neue ausgetauscht aber vergessen von der nextcloud datenbank einen dump zu erstellen :bash:
jetzt habe ich endlich zeit das zu fixen, aber der server erkennt die alte ssd nicht mehr, ich kann also nicht einfach davon booten und einen dump ziehen. ich habe aber wöchentlich mid dd images der ssd gezogen, auf die habe ich noch zugriff.
jetzt stellt sich mri die frage: was wäre der einfachste weg um aus einem der dd images einen dump der datenbank zu ziehen?
image mit dd auf eine andere ssd / usb stick schreiben und hoffen dass es bootet? oder gibt es einen eleganteren weg?
aktuell läuft ubuntu 20.04lts am server, virtualisierung hab ich mir noch nie angeschaut.

COLOSSUS

Administrator
Frickler
Avatar
Registered: Dec 2000
Location: ~
Posts: 11914
Du willst dem Image mit `kpartx` ein Mapping auf partitionierte loopback-Devices entlocken, und dann das Dateisystem auf der so verfuegbaren Partition mounten. Von dort kopierst du die Datei dann runter - fertig.

Etwa so (root required):
Code:
kpartx -a /pfad/zum/image
mount -o ro /dev/loop0p.... /mnt/
cp /mnt/.... /home/...
umount /mnt/
kpartx -d /pfad/zum/image

wergor

connoisseur de mimi
Avatar
Registered: Jul 2005
Location: graz
Posts: 4028
danke, das versuche ich heute abend :)
kann ich dann einfach den ganzen /var/lib/mysql/nextcloud ordner kopieren (wo die ganzen .opt, .frm etc files drin liegen) oder muss ich mysql sagen es soll die datenbank an dem pfad dumpen und den dump dann normal importieren?

COLOSSUS

Administrator
Frickler
Avatar
Registered: Dec 2000
Location: ~
Posts: 11914
Um das zu beantworten, hab ich leider nicht genug MySQL/MariaDB-Erfahrung, sorry. Probieren kannst du es mit der Holzhammer-Kopie-Methode, aber falls da noch wichtige Metadaten fuer die/von der DB in irendwelchen anderen Dateien herumkugeln, bringt dir das wohl nix.

Ich wuerde es so versuchen, das /-Volume und alle anderen notwendigen Dateisysteme dieses Images relativ dazu zu mounten (auch z. B. in /mnt - dann aber rw, nicht ro/readonly), und mit systemd-nspawn einen Container daraus zu spawnen. In dem Container kannst du dann das mysql-Service starten, und ganz normal mit der DB interagieren (z. B., um einen Dump zu ziehen). Vgl. https://wiki.archlinux.org/title/Systemd-nspawn fuer mehr Infos dazu.

bsox

Schwarze Socke
Avatar
Registered: Jun 2009
Location: Dschibuti
Posts: 1041
Zitat aus einem Post von wergor
kann ich dann einfach den ganzen /var/lib/mysql/nextcloud ordner kopieren (wo die ganzen .opt, .frm etc files drin liegen) oder muss ich mysql sagen es soll die datenbank an dem pfad dumpen und den dump dann normal importieren?
Ich habe beim Umzug meiner Nextcloud Instanz auf einen anderen Server (in dem Fall Container) auch die MariaDB Files kopiert. Allerdings war da auf Quell- und Zielsystem jeweils das MariaDB Service gestoppt. Die Daten so zu kopieren geht auf jeden Fall 10x schneller als Dump/Import.

nexus_VI

Overnumerousness!
Avatar
Registered: Aug 2006
Location: südstadt
Posts: 3672
Erfolg der Holzhammer Methode hängt von den MySQL/MariaDB Versionen auf den Servern ab, sind diese (annähernd) gleich kann man das schon so machen.

Sauberer ist jedoch ein Dump & Import, das dauert auch nicht arg lang und ist mit Einzeiler mit SSH kombinierbar.

davebastard

Vinyl-Sammler
Avatar
Registered: Jun 2002
Location: wean
Posts: 11564
kann mir auch nicht vorstellen dass die db bei so einer home server anwendung jetzt so wahnsinnig groß ist.

wergor

connoisseur de mimi
Avatar
Registered: Jul 2005
Location: graz
Posts: 4028
Zitat aus einem Post von wergor
kann ich dann einfach den ganzen /var/lib/mysql/nextcloud ordner kopieren
so hab ichs gemacht, hat tadellos funktinoniert :)
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz