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


MySQL 8.0 リファレンスマニュアル  /  ...  /  マルチソースレプリカへの GTID ベースのソースの追加

17.1.5.3 マルチソースレプリカへの GTID ベースのソースの追加

これらのステップでは、gtid_mode=ON を使用してソースのトランザクションに対して GTID を有効にし、レプリケーションユーザーを作成し、レプリカが TABLE ベースのレプリケーションアプライヤメタデータリポジトリを使用していることを確認し、必要に応じてレプリカにソースのデータをプロビジョニングしていることを前提としています。

CHANGE REPLICATION SOURCE TO ステートメント (MySQL 8.0.23 の場合) または CHANGE MASTER TO ステートメント (MySQL 8.0.23 の場合) を使用して、レプリカ上の各ソースのレプリケーションチャネルを構成します (セクション17.2.2「レプリケーションチャネル」 を参照)。 FOR CHANNEL 句を使用してチャネルを指定します。 GTID ベースのレプリケーションでは、GTID 自動配置を使用してソースと同期されます (セクション17.1.3.3「GTID 自動配置」 を参照)。 SOURCE_AUTO_POSITION | MASTER_AUTO_POSITION オプションは、自動配置の使用を指定するために設定されます。

たとえば、source1 および source2 をソースとしてレプリカに追加するには、mysql クライアントを使用して、次のようにレプリカでステートメントを 2 回発行します:

mysql> CHANGE MASTER TO MASTER_HOST="source1", MASTER_USER="ted", \
MASTER_PASSWORD="password", MASTER_AUTO_POSITION=1 FOR CHANNEL "source_1";
mysql> CHANGE MASTER TO MASTER_HOST="source2", MASTER_USER="ted", \
MASTER_PASSWORD="password", MASTER_AUTO_POSITION=1 FOR CHANNEL "source_2";

Or from MySQL 8.0.23:
mysql> CHANGE REPLICATION SOURCE TO SOURCE_HOST="source1", SOURCE_USER="ted", \
SOURCE_PASSWORD="password", SOURCE_AUTO_POSITION=1 FOR CHANNEL "source_1";
mysql> CHANGE REPLICATION SOURCE TO SOURCE_HOST="source2", SOURCE_USER="ted", \
SOURCE_PASSWORD="password", SOURCE_AUTO_POSITION=1 FOR CHANNEL "source_2";

レプリカが source1 からデータベース db1 のみをレプリケートし、source2 からデータベース db2 のみをレプリケートするようにするには、mysql クライアントを使用して、次のように各チャネルに対して CHANGE REPLICATION FILTER ステートメントを発行します:

mysql> CHANGE REPLICATION FILTER REPLICATE_WILD_DO_TABLE = ('db1.%') FOR CHANNEL "source_1";
mysql> CHANGE REPLICATION FILTER REPLICATE_WILD_DO_TABLE = ('db2.%') FOR CHANNEL "source_2";

CHANGE REPLICATION FILTER ステートメントの完全な構文およびその他の使用可能なオプションについては、セクション13.4.2.2「CHANGE REPLICATION FILTER ステートメント」 を参照してください。


関連キーワード:  ソース, ベース, ステートメント, GTID, SOURCE, MASTER, チャネル, 構成, バイナリ, トランザクション