このページは機械翻訳したものです。
これらのステップでは、バイナリロギングがソース (デフォルト) で有効になっており、レプリカが TABLE
ベースのレプリケーションアプライアンスメタデータリポジトリ (MySQL 8.0 のデフォルト) を使用しており、レプリケーションユーザーを有効にして現在のバイナリログファイルの名前と位置をメモしていることを前提としています。
CHANGE REPLICATION SOURCE TO
ステートメント (MySQL 8.0.23 の場合) または CHANGE MASTER TO
ステートメント (MySQL 8.0.23 の場合) を使用して、レプリカ上の各ソースのレプリケーションチャネルを構成します (セクション17.2.2「レプリケーションチャネル」 を参照)。 FOR CHANNEL
句を使用してチャネルを指定します。 たとえば、source1
および source2
をソースとしてレプリカに追加するには、mysql クライアントを使用して、次のようにレプリカでステートメントを 2 回発行します:
mysql> CHANGE MASTER TO MASTER_HOST="source1", MASTER_USER="ted", MASTER_PASSWORD="password", \
MASTER_LOG_FILE='source1-bin.000006', MASTER_LOG_POS=628 FOR CHANNEL "source_1";
mysql> CHANGE MASTER TO MASTER_HOST="source2", MASTER_USER="ted", MASTER_PASSWORD="password", \
MASTER_LOG_FILE='source2-bin.000018', MASTER_LOG_POS=104 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_LOG_FILE='source1-bin.000006', SOURCE_LOG_POS=628 FOR CHANNEL "source_1";
mysql> CHANGE REPLICATION SOURCE TO SOURCE_HOST="source2", SOURCE_USER="ted", SOURCE_PASSWORD="password", \
SOURCE_LOG_FILE='source2-bin.000018', SOURCE_LOG_POS=104 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 ステートメント」 を参照してください。