Vor Kurzem musste ich meinen Server auf den Server eines anderen Webhosting-Anbieters umstellen. Dabei habe ich festgestellt, dass meine MySQL-Datenbank mit dem mir zur Verfügung stehenden Zugriff zu groß für Downloads und Uploads ist.
Kann ich mit phpMyAdmin von meinem aktuellen MySQL-Server exportieren und direkt auf meinen neuen MySQL-Server importieren, sodass ich die Daten nicht herunterladen muss?
Antwort1
Ihr Satz „Zugriff, den ich habe“ ist interessant. Sind Sie bandbreitenbeschränkt? Speicherplatzbeschränkt? Shellbeschränkt? Eine Erklärung würde helfen, eine besser geeignete Lösung für Ihre speziellen Parameter zu finden.
Um die Datenbank von einer Maschine auf die andere zu übertragen,habenum die Dateien zu übertragen. Dies können Sie auf verschiedene Arten tun:
1.) Das gesamte MySQL-Verzeichnis kopieren (natürlich nachdem MySQL gestoppt wurde)
rsync -a main_host:/var/lib/mysql/ smaecond_host:/var/lib/mysql/
2.) Verwenden Sie mysqldump, um die Datenbank in eine Datei zu sichern, und übertragen Sie dann die Datei:
Auf dem Hauptserver:
mysqldump > [local_file]
rsync [local_file] secondary:host
Auf dem neuen Server:
mysql < [local_file]
3.) Sneakernet kann eine Option sein, wenn Sie physischen Zugriff auf einen oder beide haben
Wenn Ihre Bandbreite begrenzt ist, kann rsync mit dem Schalter --bwlimit die Rate einer Übertragung begrenzen. Wenn Sie nur über begrenzten Speicherplatz verfügen, kann das Problem noch viel größer sein.
Antwort2
Hierbei wird phpMyAdmin nicht verwendet, es trifft also möglicherweise nicht auf Ihren Fall zu.
Wenn Sie MySQL verwenden und Shell-Zugriff haben, sollten Sie die Verwendung von mysqldump mit Pipes in Betracht ziehen.
http://www.cyberciti.biz/faq/mysqldump-pipe-mysql-output-and-input/
Beachten Sie, dass dadurch Tabellen auf beiden Servern gesperrt werden können. Auch wenn Sie kein SSH verwenden, werden die Daten als Klartext gesendet. Ich habe diese Methode oft über schnelle, private Netzwerkverbindungen verwendet.