Um große MySQL-Datenbanken schnell und ohne Probleme von einem alten Linux-Server auf einen neuen Linux-Server kopieren zu können, empfiehlt es sich auf sämtlich Tools (wie MySQLDumper, phpMyAdmin) zu verzichten und das Ganze per MySQL und SSH zu bewerkstelligen.
Dazu führt man in der Konsole auf dem alten Server, auf dem sich die zu kopierende Datenbank („testdb“) befindet, folgenden Befehl aus:
mysqldump -u root -p testdb > testdb.sql
Dieser Befehl erstellt ein Dump der Datenbank („testdb“). Es wird vorher noch das Passwort des Benutzers „root“ abgefragt, ist dieses erfolgreich, startet das Backup. Standardmäßig wird nun im Root des Server die Datei „testdb.sql“ erzeugt.
Wurde das Backup erstellt, kopiert man die Backupdatei per SSH auf den neuen Server. Dieses erfolgt durch folgenden Befehl (auszuführen auf dem alten Server):
scp testdb.sql root@neuerserver.com:/
Nun wird das SSH-Passwort für den Benutzer „root“ des neuen Servers abgefragt. Wurde dieser erfolgreich eingegeben, beginnt das Kopieren!
Nun loggt man sich auf den neuen Server per SSH ein und gibt in der Konsole folgenden Befehl ein um das Backup auf dem neuen Server wieder herzustellen:
mysql -u root -ppassword testdb < testdb.sql
Nun wurde die Datenbank „tesddb“ erfolgreich aus dem Backup wieder hergestellt.
Sollte es noch nötig sein ein komplettes Verzeichnis mit mehreren MB oder GB an Dateien auf den neuen Server zu kopieren, dann könnte der Befehl so aussehen:
scp -r /var/www/project/pictures/ root@neuerserver.com:/var/www/project/
Danke. Hat geholfen 🙂
Wieso schreibst du oben „…empfielt es sich auf sämtlich Tools (wie mysqldump, phpMyAdmin) zu verzichten…“ und verwendest dann direkt als erstes MYSQLDUMP?
Ich meinte natürlich MySQLDumper 🙂