Documentation Home
MySQL Shell 8.0
Download this Manual
PDF (US Ltr) - 1.4Mb
PDF (A4) - 1.4Mb


MySQL Shell 8.0  /  ...  /  既存のレプリケーション設定の採用

このページは機械翻訳したものです。

6.3.4 既存のレプリケーション設定の採用

新しい InnoDB ReplicaSet を作成するかわりに、dba.createReplicaSet()adoptFromAR オプションを使用して既存のレプリケーション設定を採用することもできます。 レプリケーション設定がスキャンされ、InnoDB ReplicaSet の前提条件 と互換性がある場合は、AdminAPI によって必要なメタデータが作成されます。 レプリケーション設定が採用されると、InnoDB ReplicaSet の管理にのみ AdminAPI を使用できます。

既存のレプリケーション設定を InnoDB ReplicaSet に変換するには、プライマリ (ソースとも呼ばれる) に接続します。 レプリケーショントポロジは、MySQL Shell グローバルセッションが接続されているインスタンスから開始して、自動的にスキャンおよび検証されます。 すべてのインスタンスの構成は、InnoDB ReplicaSet の使用と互換性があることを確認するために、採用時にチェックされます。 すべてのレプリケーションチャネルがアクティブであり、GTID セットを介して検証されたトランザクションセットに一貫性がある必要があります。 インスタンスは同じ状態であるか、収束可能であるとみなされます。 トポロジの一部であるすべてのインスタンスは、ReplicaSet に自動的に追加されます。 この操作によって採用された ReplicaSet に加えられた変更は、メタデータスキーマの作成のみです。 既存のレプリケーションチャネルは採用中に変更されませんが、後続のプライマリスイッチ操作中に変更できます。

たとえば、example1 および example2 上の MySQL サーバーインスタンスで構成されるレプリケーショントポロジを InnoDB ReplicaSet に採用するには、example1 のプライマリに接続し、次を発行します:

mysql-js> rs = dba.createReplicaSet('testadopt', {'adoptFromAR':1})
A new replicaset with the topology visible from 'example1:3306' will be created.

* Scanning replication topology...
** Scanning state of instance example1:3306
** Scanning state of instance example2:3306

* Discovering async replication topology starting with example1:3306
Discovered topology:
- example1:3306: uuid=00371d66-3c45-11ea-804b-080027337932 read_only=no
- example2:3306: uuid=59e4f26e-3c3c-11ea-8b65-080027337932 read_only=no
    - replicates from example1:3306
	source="localhost:3310" channel= status=ON receiver=ON applier=ON

* Checking configuration of discovered instances...

This instance reports its own address as example1:3306
example1:3306: Instance configuration is suitable.

This instance reports its own address as example2:3306
example2:3306: Instance configuration is suitable.

* Checking discovered replication topology...
example1:3306 detected as the PRIMARY.
Replication state of example2:3306 is OK.

Validations completed successfully.

* Updating metadata...

ReplicaSet object successfully created for example1:3306.
Use rs.add_instance() to add more asynchronously replicated instances to
this replicaset and rs.status() to check its status.

InnoDB ReplicaSet が採用されたら、最初から作成された ReplicaSet を使用するのと同じ方法で使用できます。 この時点から、AdminAPI のみを使用して InnoDB ReplicaSet を管理する必要があります。