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


17.1.7.2 レプリカでのレプリケーションの一時停止

STOP REPLICA | SLAVE および START REPLICA | SLAVE ステートメントを使用して、レプリカのレプリケーションを停止および開始できます。 MySQL 8.0.22 から、STOP SLAVE および START SLAVE は非推奨になり、STOP REPLICA および START REPLICA をかわりに使用できます。

ソースからのバイナリログの処理を停止するには、STOP REPLICA | SLAVE を使用します:

mysql> STOP SLAVE;
Or from MySQL 8.0.22:
mysql> STOP REPLICA;

レプリケーションが停止すると、レプリケーション I/O スレッドはソースバイナリログからのイベントの読み取りとリレーログへの書き込みを停止し、SQL スレッドはリレーログからのイベントの読み取りと実行を停止します。 スレッドタイプを指定することで、I/O または SQL スレッドを個別に一時停止できます。

mysql> STOP SLAVE IO_THREAD;
mysql> STOP SLAVE SQL_THREAD;
Or from MySQL 8.0.22:
mysql> STOP REPLICA IO_THREAD;
mysql> STOP REPLICA SQL_THREAD;

実行を再開するには、START REPLICA | SLAVE ステートメントを使用します:

mysql> START SLAVE;
Or from MySQL 8.0.22:
mysql> START REPLICA;

特定のスレッドを開始するには、スレッドタイプを指定します。

mysql> START SLAVE IO_THREAD;
mysql> START SLAVE SQL_THREAD;
Or from MySQL 8.0.22:
mysql> START REPLICA IO_THREAD;
mysql> START REPLICA SQL_THREAD;

ソースからのイベントを処理することによってのみ更新を実行するレプリカの場合、SQL スレッドのみを停止すると、バックアップまたはその他のタスクを実行する場合に役立ちます。 I/O スレッドはソースからのイベントの読取りを続行しますが、実行されません。 これにより、SQL スレッドの再起動時にレプリカが捕捉されやすくなります。

I/O スレッドだけを停止することで、SQL スレッドはリレーログが終了したポイントまでリレーログ内のイベントを実行できます。 これは、ソースからすでに受信したイベントを捕捉するために実行を一時停止する場合、レプリカで管理を実行するが、特定のポイントへのすべての更新が処理されていることを確認する場合に役立ちます。 この方法を使用して、ソースでの管理を実行しながら、レプリカでのイベント受信を一時停止することもできます。 I/O スレッドは停止するけれども SQL スレッドの実行を許可することで、レプリケーションが再開したときに実行される大量のイベントバックログを確実になくすのに役立ちます。


関連キーワード:  ソース, 停止, REPLICA, SLAVE, 実行, バイナリ, ベース, STOP, ステートメント, GTID