MySQL 8.0 リファレンスマニュアル


MySQL 8.0 リファレンスマニュアル  /  ...  /  グローバルトランザクション識別子を使用したレプリケーション

17.1.3 グローバルトランザクション識別子を使用したレプリケーション

このセクションでは、グローバルトランザクション識別子 (GTID) を使用したトランザクションベースのレプリケーションについて説明します。 GTID を使用している場合、各トランザクションは元のサーバーでコミットされ、レプリカによって適用されるため、識別および追跡できます。つまり、GTID を使用して新しいレプリカの起動時または新しいソースへのフェイルオーバー時に、それらのファイル内のログファイルまたは位置を参照する場合は必要ありません。これにより、これらのタスクが大幅に簡略化されます。 GTID ベースのレプリケーションは完全にトランザクションベースであるため、ソースとレプリカに一貫性があるかどうかを簡単に判断できます。ソースでコミットされたすべてのトランザクションもレプリカでコミットされているかぎり、両者の間の一貫性が保証されます。 ステートメントベースまたは行ベースレプリケーションを GTID に基づいて使用できます (セクション17.2.1「レプリケーション形式」を参照してください)。ただし、最善の結果を得るには、行ベース形式を使用することをお勧めします。

GTID は常にソースとレプリカの間で保持されます。 つまり、バイナリログを調べることによって、レプリカに適用されているトランザクションのソースをいつでも判別できます。 また、ある GTID のトランザクションがあるサーバーでコミットされると、同じ GTID のそれ以降のトランザクションはそのサーバーで無視されます。 したがって、ソースでコミットされたトランザクションはレプリカに複数回適用でき、一貫性の保証に役立ちます。

このセクションでは、次のトピックについて説明します。

GTID ベースレプリケーションに関係する MySQL Server オプションおよび変数については、セクション17.1.6.5「グローバルトランザクション ID システム変数」を参照してください。 GTID と一緒に使用するために MySQL 8.0 がサポートする SQL 関数については、セクション12.19「グローバルトランザクション識別子 (GTID) で使用される機能」も参照してください。


関連キーワード:  GTID, ベース, トランザクション, ソース, セクション, 参照, バイナリ, サーバー, 変数, ステートメント