次のリストに、レプリカサーバー上のレプリケーション I/O スレッドの State
カラムに表示される最も一般的な状態を示します。 この状態は、SHOW REPLICA | SLAVE STATUS
によって表示される Replica_IO_State
カラムにも表示されるため、そのステートメントを使用して何が起こっているかを適切に把握できます。
-
ソースへの接続が確立された後、非常に短い状態になります。
-
スレッドはソースに接続しようとしています。
-
Queueing master event to the relay log
スレッドはイベントを読み取っており、SQL スレッドがそれを処理できるように、それをリレーログにコピーしています。
-
Reconnecting after a failed binlog dump request
スレッドはソースに再接続しようとしています。
-
Reconnecting after a failed master event read
スレッドはソースに再接続しようとしています。 ふたたび接続が確立されると、状態は
Waiting for master to send event
になります。 -
ソースへの接続が確立された後に非常に短時間発生する状態。
-
ソースへの接続が確立された後、非常に短い状態になります。 スレッドは、要求されたバイナリログファイルの名前と位置から開始して、バイナリログの内容に対する要求をソースに送信します。
-
Waiting for its turn to commit
slave_preserve_commit_order
が有効な場合に、レプリカスレッドが古いワーカースレッドのコミットを待機しているときに発生する状態。 -
Waiting for master to send event
スレッドはソースに接続し、バイナリログイベントの到着を待機しています。 これは、ソースがアイドル状態の場合に長時間持続することがあります。 待機が
slave_net_timeout
秒継続した場合、タイムアウトになります。 その時点で、スレッドは接続が切断されているとみなし、再接続を試みます。 -
Connecting to master
の前の初期状態。 -
Waiting for slave mutex on exit
スレッドの停止中に一時的に発生する状態。
-
Waiting for the slave SQL thread to free enough relay log space
0 以外の
relay_log_space_limit
値を使用しており、リレーログの組み合わせたサイズがこの値を超えるまで拡大しています。 I/O スレッドは、一部のリレーログファイルを削除できるように、リレーログ内容を処理することによって SQL スレッドが十分な領域を解放するまで、待機しています。 -
Waiting to reconnect after a failed binlog dump request
切断のため、バイナリログダンプリクエストに失敗した場合、スレッドはスリープ中にこの状態になり、定期的に再接続を試みます。 再試行間隔は、
CHANGE REPLICATION SOURCE TO
ステートメント (MySQL 8.0.23 の場合) またはCHANGE MASTER TO
ステートメント (MySQL 8.0.23 の場合) を使用して指定できます。 -
Waiting to reconnect after a failed master event read
切断のため、読み取り中にエラーが発生しました。 スレッドは、再接続を試行する前に、
CHANGE REPLICATION SOURCE TO
ステートメント (MySQL 8.0.23 の場合) またはCHANGE MASTER TO
ステートメント (MySQL 8.0.23 の場合) で設定された秒数 (デフォルトは 60) スリープしています。