問題
マスター(A)とスレーブ(B)の2つのサーバー間でMySQLレプリケーションをセットアップしています。新しいスレーブをミックスに追加する必要があります(C)。このスレーブがマスターから直接更新を取得するようにしたいのですが、スレーブからのチェーンレプリケーションは必要ありません。ただし、マスターは「ホット」です。通常、Xtrabackupを使用してマスターの完全バックアップを作成しますが、データベースのサイズが約20GBであるため、マスターを10分間ロックします。
可能な解決策
スレーブBで読み取りロック付きのテーブルをフラッシュし、BでSHOW SLAVE STATUSを使用して、binlogと位置を書き留めます。次に、Xtrabackup を使用してデータベースをバックアップし、バックアップをCに送信してスレーブを作成し、レプリケーションをAを指すように設定しました。
質問
長い間Bをロックする必要がないより良い方法はありますか?または、より簡単に自動化できるものはありますか?