Die Datenbanken sind unerschwinglich groß (& gt; 400 MB), so dass dump & gt; SCP & gt; Quelle erweist sich als Stunden und Stunden Arbeit.
Gibt es einen leichteren Weg? Kann ich mich direkt mit der DB verbinden und vom neuen Server importieren?
Sie können einfach den gesamten / data Ordner kopieren.
Sehen Sie sich Hochleistung MySQL - Übertragung großer Dateien
Verwenden Sie ssh, um Ihre Daten direkt über das Internet zu leiten. Stellen Sie zuerst die SSH-Schlüssel für die Anmeldung ohne Passwort ein. Als nächstes versuchen Sie etwas wie folgt:
%Vor%Anmerkungen:
db_user
in Benutzerbenutzer und some_database
in Ihre Datenbank. someuser
ist der (Linux) Systembenutzer , nicht der MySQL-Benutzer. --password
den langen Weg benutzen, weil Sie mit mysql prompt viel Kopfschmerzen haben werden. Sie könnten eine MySQL-Slave-Replikation einrichten und MySQL die Daten kopieren lassen und dann den Slave zum neuen Master machen
400M ist wirklich keine große Datenbank; Die Übertragung auf ein anderes Gerät dauert nur wenige Minuten über ein 100Mbit-Netzwerk. Wenn Sie keine 100M-Netzwerke zwischen Ihren Computern haben, sind Sie in großen Schwierigkeiten!
Wenn sie die exakt gleiche Version von MySQL haben und identische (oder ähnliche ENOUGH) my.cnf haben und Sie wollen nur eine Kopie der gesamten Daten, ist es sicher, das gesamte Datenverzeichnis des Servers zu kopieren (während beide Instanzen) sind offensichtlich gestoppt). Sie müssen natürlich zuerst das Datenverzeichnis des Zielrechners löschen, aber das interessiert Sie wahrscheinlich nicht.
Die Sicherung / Wiederherstellung wird normalerweise dadurch verlangsamt, dass die Wiederherstellung die Tabellenstruktur und nicht die Dateikopie neu erstellen muss. Durch das direkte Kopieren der Dateien vermeiden Sie dies (vorbehaltlich der oben genannten Einschränkungen).
Wenn Sie einen Server migrieren:
Die Dump-Dateien können sehr groß sein, daher ist es besser, sie vor dem Senden zu komprimieren oder das -C-Flag von scp zu verwenden. Unsere Methode zur Übertragung von Dateien besteht darin, einen vollständigen Speicherauszug zu erstellen, in dem die inkrementellen Protokolle gelöscht werden (verwenden Sie --master-data = 2 --flush logs, bitte prüfen Sie, ob Sie keine Slave-Hosts durcheinander bringen, wenn Sie sie haben). Dann kopieren wir den Dump und spielen ihn ab. Danach spülen wir die Logs erneut (mysqladmin flush-logs), nehmen das letzte inkrementelle Log (das nicht sehr groß sein sollte) und spielen es nur ab. Machen Sie das so lange, bis das letzte inkrementelle Protokoll sehr klein ist, so dass Sie die Datenbank auf dem Originalrechner anhalten, das letzte inkrementelle Protokoll kopieren und dann abspielen können - es sollte nur ein paar Minuten dauern.
Wenn Sie nur Daten von einem Server auf einen anderen kopieren möchten:
%Vor%Sie müssen die Datenbankbenutzer richtig einstellen und Zugriff auf externe Hosts bereitstellen.
Versuchen Sie, den Speicherauszug auf dem neuen Server mit der mysql-Konsole zu importieren, nicht mit einer Hilfssoftware
Ich habe keine Erfahrung damit, dies mit mysql zu tun, aber für mich scheint der Flaschenhals die eigentlichen Daten zu übertragen?
4oo MB ist nicht das viel. Aber wenn Dump - & gt; SCP ist langsam, ich glaube nicht, eine Verbindung zum Db-Server aus der Entfernung Box wäre schneller?
Ich würde vorschlagen, zu dumpen, zu komprimieren, dann über das Netzwerk zu kopieren oder auf Festplatte zu brennen und die Daten manuell zu übertragen. Das Komprimieren eines solchen Dumps wird höchstwahrscheinlich eine ziemlich gute Komprimierungsrate ergeben, da es sehr wahrscheinlich viele repetetive Daten gibt.
Wenn Sie nur alle Datenbanken des Servers kopieren, kopieren Sie das gesamte Verzeichnis /data
.
Wenn Sie nur eine oder mehrere Datenbanken kopieren und sie zu einem vorhandenen mysql-Server hinzufügen:
/data/databasename
auf den neuen Server /data/databasename
Ich benutze gerne BigDump: Staggered Mysql Dump Importer nach dem Exportieren meiner Datenbank vom alten Server.
Beachten Sie jedoch, dass wenn Sie die Exportoptionen (dh die maximale Länge der erstellten Abfragen) nicht auf die Last setzen, die Ihr neuer Server verarbeiten kann, wird sie einfach fehlschlagen und Sie müssen es erneut versuchen verschiedene Parameter. Persönlich setze ich meins auf ungefähr 25.000, aber das bin nur ich. Testen Sie es ein wenig und Sie werden den Dreh raus bekommen.