私たちが知っているように、mysql はレプリケーションを非同期で行います。
同期レプリケーションを行うには追加のプラグインが必要だと聞きました。
それでは、非同期レプリケーションの状況を考えてみましょう。マスターはイベントをバイナリ ログに書き込みますが、master2 がそれらを取得して処理したかどうか、またはいつ処理したかはわかりません。非同期レプリケーションでは、 master1 がクラッシュした場合、コミットされたトランザクションが master2 に送信されていない可能性があります。
私の質問は、後で master1 が再起動したときに、これらのトランザクションが最終的に master2 に複製されるかどうかです。そうでない場合、それは大きな矛盾の問題です。
私の質問は、マスターとスレーブのレプリケーションについても同じで、マスターは同じ状況でダウンしています。
自動的に実行するには、特別な構成パラメーターが必要ですか?
または、master1 からデータを手動でダンプして master2 などにインポートする必要がありますか?
======
更新: 上記の「クラッシュ」という言葉を誤って使用した可能性があります。master1 が一定期間、他のユーザーとデータを同期できなかったという状況に言及したいだけです。以下の返信 (感謝) は 2 つのケースをカバーしています: たとえば、ディスク障害による実際の回復不可能なクラッシュ、またはネットワークの問題などによる一時的なオフラインの問題です。