MySQL 5.6.5で導入された;グロバルトランザクション識別子(gtid)を使用したトランザクションベスレプリケションに。GTIDを使用することで,各トランザクションが発生元サーバーでコミットされて,スレーブによって適用されたあとに,それを特定して追跡できます。これは,GTIDを使用することで,新しいスレーブを起動するとき,または新しいマスターにフェイルオーバーするときに,ログファイルまたはそれらのファイル内での位置を参照する必要がなくなり,これらのタスクが大幅に簡易化されることを意味します。GTIDベースレプリケーションが完全にトランザクションベースであるため,マスターとスレーブが一貫しているかどうかを判断することが容易です。マスターでコミットされたすべてのトランザクションがスレーブでもコミットされているかぎり,両者の一貫性は保証されます。ステトメントベスまたは行ベスレプリケションをgtidに基づいて使用できます(セクション17.1.2 "レプリケション形式"を参照してください)。ただし,最善の結果を得るには,行ベ,ス形式を使用することをお勧めします。
このセクションでは,次のトピックにいて説明します。
GTIDがどのように定義および作成され,それらがMySQL服务器内でどのように表現されるか(セクション17.1.3.1 " gtidの概念"を参照してください)。
Gtidベスレプリケションをセットアップおよび起動するための一般的な手順(セクション17.1.3.2 " gtidを使用したレプリケションのセットアップ"を参照してください)。
GTIDを使用するときに新しいレプリケーションサーバーをプロビジョニングするために推奨される方法(セクション17.1.3.3 "フェルオgtidの使用"を参照してください)。
Gtidベスレプリケションを使用するときに留意すべき制約と制限(セクション17.1.3.4 " gtidベスレプリケションの制約"を参照してください)。
GTIDベースレプリケーションに関係するMySQL服务器オプションおよび変数については,セクション17.1.4.5 "グロバルトランザクションidのオプションと変数"を参照してください。GTIDと一緒に使用するためにMySQL 5.6がサポトするSQL関数に;セクション12.16 "グロバルトランザクションidとともに使用される関数"も参照してください。
GTIDは,MySQL集群が使用するNDB
ストレジエンジンと互換性がなく,サポトされません。MySQL集群でGTIDを有効にすると,NDB
の問題が発生し,MySQL集群レプリケションも失敗する可能性が非常に高くなります。