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


17.2.3.1 レプリケーションメインスレッドの監視

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: 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 からの出力は次のようになります:

mysql> 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「レプリケーションステータスの確認」を参照してください。


関連キーワード:  ソース, サーバー, ベース, ステートメント, バイナリ, GTID, トランザクション, 変数, 構成, PROCESSLIST