このページは機械翻訳したものです。
SHOW PROCESSLIST ステートメントは、レプリケーションに関してソースおよびレプリカで何が起こっているかを示す情報を提供します。 ソースの状態の詳細は、セクション8.14.4「レプリケーションソーススレッドの状態」 を参照してください。 レプリカの状態については、セクション8.14.5「レプリケーション I/O スレッドの状態」 およびセクション8.14.6「レプリケーション SQL スレッドの状態」 を参照してください。
次の例は、バイナリログダンプスレッド、Replicatin I/O スレッド、およびレプリケーション SQL スレッドの 3 つのメインレプリケーションスレッドがSHOW PROCESSLIST からの出力にどのように表示されるかを示しています。
ソースサーバーでは、SHOW PROCESSLIST からの出力は次のようになります:
mysql> SHOW PROCESSLIST\G*************************** 1. row *************************** Id: 2 User: root Host: localhost:32931 db: NULLCommand: 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 からの出力は次のようになります:
mysql> SHOW PROCESSLIST\G*************************** 1. row *************************** Id: 10 User: system user Host: db: NULLCommand: Connect Time: 11 State: Waiting for master to send event Info: NULL*************************** 2. row *************************** Id: 11 User: system user Host: db: NULLCommand: Connect Time: 11 State: Has read all relay log; waiting for the slave I/O thread to update it Info: NULLState 情報は、スレッド 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「レプリケーションステータスの確認」を参照してください。