web-dev-qa-db-ja.com

GTIDを使用してMySQLレプリケーションで--log_slave_updatesを有効にすることは必須ですか?

GTIDを有効にするには、マスターとスレーブの両方でlog_slave_updateを有効にする必要がありますか?5.6 Percona Mysqlを設定していますか?

Log_slave_updateを有効にする必要がある場合は、GTIDがあることをCONSにカウントします。

また、GTIDを有効にする際のその他の問題を教えていただけますか?

3
Mannoj

MySQLドキュメントはそれを示唆しています: GTIDを使用したレプリケーションのセットアップ を参照してください

MySQLは起動しないことも覚えておいてください。どうして ?ドキュメントから:

ステップ3:GTIDを有効にして両方のサーバーを再起動します。グローバルトランザクション識別子を使用してバイナリログを有効にするには、各サーバーをGTIDモード、バイナリログ、スレーブ更新ログを有効にして、GTIDベースのレプリケーションに対して安全でないステートメントを無効にして起動する必要があります。さらに、両方を読み取り専用モードで起動することにより、不要な更新や偶発的な更新がいずれかのサーバーで実行されないようにする必要があります。これは、両方のサーバーが、(少なくとも)mysqld_safeの次の呼び出しで示されるオプションで起動する必要があることを意味します。

シェル> mysqld_safe --gtid_mode = ON --log-bin --log-slave-updates --enforce-gtid-consistency&

バイナリログはマスターとスレーブの両方でアクティブであるため、マスターのバイナリログとスレーブのバイナリログの両方に、トランザクションとともにGTIDが記録されます。これにより、レプリケーションを開始するときに、スレーブ内の最新のGTIDを使用してスレーブをマスターに自動配置できます。重要なステップの1つは、そのことを明確に述べています 同じドキュメントページ

マスターをレプリケーションデータソースとして使用し、自動配置を使用するようにスレーブに指示してから、スレーブを起動します。

したがって、自動配置メカニズムをアクティブにするには、 -log-slave-updates を有効にする必要があります。メカニズムのすぐ先でも、@ jynusは mysql 5.6 gtidレプリケーション:log_slave_updatesが必要ですか? mysqldが -log-slave-updates は指定されていません。

1
RolandoMySQLDBA