Rohrleitungsbau

Ih habt Euch schon öfters die Frage gestellt, wie Ihr alle Tabellen und Inhalte einer MySQL-Datenbank schnell und unkompliziert auf einen anderen Server kopiert? Mit einer kleinen Pipeline geht das ganz schnell:

mysqldump -u mattias –password=’geheim’ sourcedb | \
ssh -C mattias@ziel.xyz \
“mysql -u mattias –password=’geheim’ draindb”

Der Befehl “mysqldump” schreibt auf die Standardausgabe welche von der SSH angenommen wird. Auf der anderen Seite ruft SSH direkt den MySQL-Client auf und übergibt diesem den Dump. Wichtig ist es, denn auf am Ziel aufzuführenden Befehl in Anführungszeichen zu setzen. Je nach MySQL-Version kann es auch nötig sein, beim Dump oder beim Einlesen mit Gewalt (-f) zu arbeiten.

Die größten Vorteile sind natürlich, dass keine temporäre Datei benötigt wird und der MySQL-Port nicht nach außen geöffnet werden muss. In der Regel stellen auch unterschiedliche MySQL-Versionen kein Problem dar. Und in vielen Fällen reicht diese simpelste Art der Replikation voll aus.