Initialisieren Sie einen MySQL-Slave-Server, der sich in einem anderen Netzwerk als der Master befindet

Initialisieren Sie einen MySQL-Slave-Server, der sich in einem anderen Netzwerk als der Master befindet

dies ist meine erste Frage hier und Englisch ist nicht meine Muttersprache, aber ich werde versuchen, es zu erklären.

Ich habe einen MySQL-Masterserver mit einer öffentlichen IP-Adresse, der in meiner Provider-Infrastruktur läuft, und ich möchte in meinem Büro einen lokalen MySQL-Slaveserver betreiben, der alle Daten zu Testzwecken repliziert.

Das Einrichten der Replikation funktioniert einwandfrei. Ich habe einen SSH-Tunnel erstellt, damit mein Slave das Binlog vom Master liest. Hier ist alles in Ordnung.

Mein Problem besteht darin, die Daten vom Master einzurichten. Wenn ich die Daten vom Master auf einen beliebigen Slave im selben Netzwerk laden möchte, führe ich normalerweise den folgenden Befehl auf dem Master aus:

mysqldump 'master' --master-data=1 | mysql 'slave' 

aber hier kann ich keine IP für den Slave haben, weil er sich in meinem Büro hinter einer Reihe von NAT-Routern befindet …

Hat jemand eine Lösung, da ich weiß, dass ich den Master nicht stoppen kann und sich etwa 50 GB Daten darauf befinden? Wenn Sie eine andere Lösung haben, um einen „heißen“ Datentransfer von einem Master zu einem Slave durchzuführen, bin ich auch sehr daran interessiert.

Vielen Dank im Voraus.

Antwort1

Angenommen, Sie können per SSH auf den Master zugreifen. Wie wäre es mit dem Slave?

ssh master 'mysqldump \'master\' --master-data=1' | mysql 'slave'

Dadurch wird der Dump-Befehl auf dem Master ausgeführt, aber lokal neu geladen.

Antwort2

Warum leiten Sie es nicht einfach in eine Datei weiter und übertragen es später per scpoder rsync?

mysqldump master --master-data=1 >master.dump

auf Sklave

mysql <master.dump

Alternativ können Sie den mysqldumpBefehl auf dem Slave und nicht auf dem Master ausführen. Vielleicht funktioniert es dann besser, ohne den oben genannten Fehler.

Hinweis: Vielleicht sollten Sie alle Datenbanken sichern, nicht nur eine?

verwandte Informationen