web-dev-qa-db-ja.com

MySQLでのバイナリログバックアップ

読み取り専用の2番目のマスターを使用してマスターマスターレプリケーションを実行しています。バイナリログがパッシブマスターに複製されていないためです。

  1. --log-slave-updatesを有効にする必要がありますか?これを有効にすると、パッシブマスターからバイナリログバックアップを取得できますか?パッシブマスターで有効にした場合、アクティブマスターで同じように有効にすべきではありませんか?

アクティブマスターでも--log-slave-updatesを有効にする場合は、プライマリマスターで問題が発生した災害の場合を考慮して、パッシブマスターをアクティブマスターにし、アプリケーションを新しいマスターにポイントします。これで、新しいマスターがバイナリログを生成し、実際のマスター(現在はダウンしています)への複製を待機します。 SO実際のマスターが起動するとどうなりますか?セカンダリマスターのバイナリが問題なくプライマリにコピーされますか?

  1. --log-slave-updatesを有効にしている間、他のパラメーターにも注意を払う必要があります。

ありがとう!

1
tesla747

log-slave-updates=true

  1. 両方のマスターに当てはまるはずです。両方のマスターが更新を受け入れている場合、もう一方のパッシブマスターはそれ自体を更新できる必要があるためです。

  2. いつでもビンログのバックアップを取ることができます。

  3. 他のオプションに関しては、binglog_formatのMIXEDオプションを使用して、 ROWベースまたはSTATEMENTベースの更新 を許可します。

    binlog_format = MIXED

これは、STATEMENTベースのレプリケーションがすべての更新をカバーしているわけではないためです。ただし、STATEMENTベースのレプリケーションの方が高速です。 MIXEDを使用すると、MySQLは必要に応じて切り替えることができます。

1
Craig Efrein