MySQL Große Datenbank als Ordner kopieren

lizarazu

Registriert
Thread Starter
Dabei seit
19.06.2012
Beiträge
4
Reaktionspunkte
0
Hallo,

ich stehe vor dem Problem eine MySQL-DB (InnoDB) kopieren zu wollen. (Bin selber kein Mac-Nutzer)

Die DB liegt momentan auf einem iMac. MySQL auf der System-SSD installiert, Datenbankordner auf interne (größere) HDD ausgelagert. Das Auslagern haben wir mit dem editieren der my.cnf hinbekommen. Nun würden wir auch gerne unterwegs an der DB rumspielen. Angedacht ist die Installation von MySQL auf seinem Macbook und das erneute Auslagern der eigentlichen DB auf eine HDD, welche diesmal eine Externe sein soll.

Frage: Können wir den data-Ordner einfach vom iMac auf die externe HDD kopieren, die my.cnf auf dem Macbook editieren (datadir) und es läuft? Oder müssen da noch andere Dinge angepasst werden bzw. ist es generell möglich?

Gruß und Danke im voraus!
 
Ich denke ihr solltet mal nach "mysql dump" googlen ...
 
Hallo magicmann, danke für deine Antwort.

mysqldump ist uns natürlich ein Begriff, allerdings fragen wir uns, ob wir das zeitintensive Backup und Neueinlesen umgehen können. In dem Dump wären dann ja ein Haufen SQL-Anweisungen für die Tabellen, Schlüssel, Indizes und Inhalte. Im Prinzip nicht groß anders als die Datei, die wir zur Erzeugung der DB und dem Einlesen der Rohdaten angefertigt haben. Und das Ausführen eben jener Datei hat extrem lange gedauert, wir haben sie sogar in viele kleinere Dateien zerstückelt und diese dann einzeln ausgeführt, um Fortschritte besser nachvollziehen zu können.

Unsere Rohdaten (CSV-Dateien) kommen schon auf weit über 100 GB, die Datenbankgröße steigt durch Schlüssel und Indizes nochmal extrem an. Vor allem das Erstellen der Fremdschlüssel nimmt extrem viel Zeit in Anspruch.

Daher fragen wir uns, ob wir die ja schon fertige DB nicht einfach irgendwie kopieren können (Ohne die Zwischenschritte SQL-Datei erstellen und SQL-Datei einlesen).
 
Da das Auslagern zur internen Platte über den Weg fehlerfrei funktioniert hat, spricht nichts dagegen, die Daten zu einer Externen Platte zu kopieren.

Ihr solltet aber sicher sein, dass es im Datenbestand keine absoluten Pfade gibt. Das kann auftreten, wenn ihr auf externe Daten verweist, wie Bilder oder ähnliches...

Nach dem Kopieren natürlich testen...
 
Sorry, das hatte ich falsch beschrieben. Das Auslagern auf die interne HDD erfolgte vor dem Anlegen der Datenbank, direkt nach der MySQL-Installation.

Die Frage ist jetzt, ob mit Anlegen der Datenbank irgendwo anders (also in der my.cnf) noch automatisch Pfadangaben angelegt worden sein könnten, die wir mit umbiegen müssen. Im Datenbestand selbst sind keine vorhanden, das sind nur Zahlen, Strings und Kalenderdaten.
 
Hallo magicmann, danke für deine Antwort.

mysqldump ist uns natürlich ein Begriff, allerdings fragen wir uns, ob wir das zeitintensive Backup und Neueinlesen umgehen können. ...

Hmmm.... über welche Filegrössen reden wir da? Gigabyte?
Ich hatte schon ein zwei dumps mit mehreren 100MB und die gingen auf den Webservern immer recht schnell beim Import als auch beim export (natürlich auf das jeweils lokale Filesystem des Servers)
 
Wenn die CSV Rohdaten schon weit über 100Gbyte sind...

Nein, ich denke es wird nirgends etwas zum Pfad gespeichert. Nur in der my.cnf..
 
Ja, DB ist mehrere 100Gb groß.

Sind heute Vormittag leider schon ziemlich früh stecken geblieben. Und zwar bekommen wir es nicht gebacken, die Nutzerrechte unseres Data-Ordners auf der externen HDD zu ändern. So startet mysql natürlich nicht.

Die Benutzerrechte beim Default data-Ordner (/usr/local/mysql/data/) liegen bei _mysql. Mit folgendem Befehl wollten wir die Benutzerrechte des neuen data-Ordners angleichen:

sudo chown -R _mysql:_mysql /Volumes/LaCie/Datenbank/data/

Mit Klick auf Enter fragt er das Admin-PW ab und nach dem Eingeben und einem weiteren Enter können wir den nächsten Befehl eingeben (also keine Fehlermeldung angezeigt). Die Rechte des data-Ordners auf der externen Festplatte wurden jedoch nicht angepasst.

Hat jedmand eine Ahnung, woran das liegen könnte? Bei einem Testordner auf der Platte der Macbooks wurden die Rechte damit erfolgreich geändert (Befehl bis auf die Pfadangabe gleich).
 
Das sind die ACLs... es gibt die Option "Eigentümer auf diesem Volume ignorieren" vielleicht hilft das?
 
Zurück
Oben Unten