次のリストは、レプリカサーバー上のレプリケーション SQL スレッドの State
カラムに表示される可能性のある最も一般的な状態を示しています:
-
Making temporary file (append) before replaying LOAD DATA INFILE
スレッドは
LOAD DATA
ステートメントを実行しており、レプリカが行を読み取るデータを含む一時ファイルにデータを追加しています。 -
Making temporary file (create) before replaying LOAD DATA INFILE
スレッドは
LOAD DATA
ステートメントを実行し、レプリカが行を読み取るデータを含む一時ファイルを作成しています。 この状態は、元のLOAD DATA
ステートメントが、MySQL 5.0.3 より前のバージョンの MySQL を実行しているソースによってログに記録された場合にのみ発生します。 -
Reading event from the relay log
スレッドはイベントを処理できるように、イベントをリレーログから読み取りました。
-
Slave has read all relay log; waiting for more updates
スレッドはリレーログファイル内のすべてのイベントを処理しており、現在 I/O スレッドが新しいイベントをリレーログに書き込むのを待機しています。
-
Waiting for an event from Coordinator
マルチスレッドレプリカ (
slave_parallel_workers
が 1 より大きい) を使用して、レプリカワーカースレッドのいずれかがコーディネータスレッドからのイベントを待機しています。 -
Waiting for slave mutex on exit
スレッド停止中に発生するきわめて短い状態。
-
Waiting for Slave Workers to free pending events
この待機処理は、ワーカーが処理しているイベントの合計サイズが
slave_pending_jobs_size_max
システム変数のサイズを超えた場合に発生します。 サイズがこの制限を下回ると、コーディネータはスケジューリングを再開します。 この状態は、slave_parallel_workers
が 0 より大きい値に設定されている場合にのみ発生します。 -
Waiting for the next event in relay log
Reading event from the relay log
の前の初期状態です。 -
Waiting until MASTER_DELAY seconds after master executed event
SQL スレッドはイベントを読み取りましたが、レプリカ遅延の経過を待機しています。 この遅延は、
CHANGE REPLICATION SOURCE TO
ステートメント (MySQL 8.0.23 の場合) またはCHANGE MASTER TO
ステートメント (MySQL 8.0.23 の場合) のSOURCE_DELAY
|MASTER_DELAY
オプションを使用して設定します。
SQL スレッドの Info
カラムには、ステートメントのテキストも表示される場合があります。 これは、スレッドがリレーログからイベントを読み取り、それからステートメントを抽出して、それを実行している可能性があることを示しています。