Problem
Ich habe MySQL-Replikation zwischen 2 Servern eingerichtet, Master ( A ) und Slave ( B ). Ich muss der Mischung einen neuen Slave hinzufügen ( C ). Ich möchte, dass dieser Slave seine Updates direkt vom Master erhält. Ich möchte keine Kettenreplikation vom Slave. Der Master ist jedoch "heiß". Normalerweise verwende ich Xtrabackup, um eine vollständige Sicherung des Masters zu erstellen. Dadurch wird er jedoch für gut 10 Minuten gesperrt, da die Datenbank etwa 20 GB groß ist.
Mögliche Lösung
SPÜLEN SIE TABELLEN MIT READ LOCK auf Slave B , verwenden Sie SHOW SLAVE STATUS auf B , notieren Sie das Binlog und die Position. Sichern Sie dann die Datenbank mit Xtrabackup, senden Sie die Sicherung an C und erstellen Sie damit den Slave. Setzen Sie die Replikation so, dass sie mit der gerade notierten Binlog-Position auf A zeigt.
Frage
Gibt es einen besseren Weg, bei dem ich B nicht so lange sperren muss ? Oder etwas, das einfacher zu automatisieren ist?