このページは機械翻訳したものです。
SHOW PROCESSLIST
ステートメントは、レプリケーションに関してソースおよびレプリカで何が起こっているかを示す情報を提供します。 ソースの状態の詳細は、セクション8.14.4「レプリケーションソーススレッドの状態」 を参照してください。 レプリカの状態については、セクション8.14.5「レプリケーション I/O スレッドの状態」 および セクション8.14.6「レプリケーション SQL スレッドの状態」 を参照してください。
次の例は、バイナリログダンプスレッド、Replicatin I/O スレッド、およびレプリケーション SQL スレッドの 3 つのメインレプリケーションスレッドが SHOW PROCESSLIST
からの出力にどのように表示されるかを示しています。
ソースサーバーでは、SHOW PROCESSLIST
からの出力は次のようになります:
Press CTRL+C to copymysql> SHOW PROCESSLIST\G *************************** 1. row *************************** Id: 2 User: root Host: localhost:32931 db: NULL Command: Binlog Dump Time: 94 State: Has sent all binlog to slave; waiting for binlog to be updated Info: NULL
ここで、スレッド 2 は接続レプリカにサービスを提供する Binlog Dump
スレッドです。 State
情報は、すべての未処理の更新がレプリカに送信され、ソースがさらに更新が発生するのを待機していることを示します。 ソースサーバーに Binlog Dump
スレッドが表示されない場合は、レプリケーションが実行されていないことを意味します。つまり、レプリカは現在接続されていません。
レプリカサーバーでは、SHOW PROCESSLIST
からの出力は次のようになります:
Press CTRL+C to copymysql> SHOW PROCESSLIST\G *************************** 1. row *************************** Id: 10 User: system user Host: db: NULL Command: Connect Time: 11 State: Waiting for master to send event Info: NULL *************************** 2. row *************************** Id: 11 User: system user Host: db: NULL Command: Connect Time: 11 State: Has read all relay log; waiting for the slave I/O thread to update it Info: NULL
State
情報は、スレッド 10 がソースサーバーと通信しているレプリケーション I/O スレッドであり、スレッド 11 がリレーログに格納されている更新を処理しているレプリケーション SQL スレッドであることを示しています。 SHOW PROCESSLIST
が実行された時点で、両方のスレッドはアイドルで、後続の更新を待機中でした。
Time
カラムの値は、レプリカがソースと比較される遅延を示すことができます。 セクションA.14「MySQL 8.0 FAQ: レプリケーション」を参照してください。 Binlog Dump
スレッドのアクティビティなしでソース側で十分な時間が経過すると、ソースはレプリカが接続されなくなったと判断します。 ほかのクライアント接続に関して、これのタイムアウトは net_write_timeout
および net_retry_count
の値によって異なります。これらの詳細については、セクション5.1.8「サーバーシステム変数」を参照してください。
SHOW REPLICA | SLAVE STATUS
ステートメントは、レプリカサーバーでのレプリケーション処理に関する追加情報を提供します。 セクション17.1.7.1「レプリケーションステータスの確認」を参照してください。