レプリケーション設定とともに、次のMySQLインスタンスがあります。
S1 ----->(M1 <-> M2)、ここで:
M1-M2はマルチマスターレプリケーションのセットアップであり、
S1-マスターM1で行われる書き込みを複製するスレーブ。
現在、M1がダウンした場合に、S1がM2から複製を開始する、チャネルフェイルオーバーメカニズムを使用してセットアップを強化しようとしています。現在、私が見ているこれを行う唯一の方法は次のとおりです。
(S1マシンのM1障害検出メカニズム)、次に:
-> S1は、ローカルリレーログファイルからM1のクエリの最新のタイムスタンプを取得します。
-> M2は、ローカルのbinlogファイル+ S1の最新のタイムスタンプに対応するbinlogインデックスを検索します(mysqlbinlogユーティリティを使用したbashスクリプト)。
-> S1は、最終的に「STOP SLAVE」、「CHANGE MASTER TO master_host = M2 ... master_log_file = ... master_log_pos = ...」などのコマンドを実行してレプリケーションを続行できますが、今回はM2から
これを行うためのより良い(そしてエラーが発生しにくい)方法はありますか?
ありがとうございました
編集Xid
:現在、これは、公的にアクセス可能なMySQLクラスタリングソリューションで一般的に使用されている独自のbinlogクエリタグのおかげで、はるかに簡単に実現できます。