10bet网址
MySQL 8.0 Reference Manual
Related Documentation Download this Manual Excerpts from this Manual

17.2.3.1 Monitoring Replication Main Threads

TheSHOW PROCESSLISTstatement provides information that tells you what is happening on the source and on the replica regarding replication. For information on source states, seeSection 8.14.4, “Replication Source Thread States”. For replica states, seeSection 8.14.5, “Replication I/O Thread States”, andSection 8.14.6, “Replication SQL Thread States”.

The following example illustrates how the three main replication threads, the binary log dump thread, replicatin I/O thread, and replication SQL thread, show up in the output fromSHOW PROCESSLIST.

On the source server, the output fromSHOW PROCESSLISTlooks like this:

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

Here, thread 2 is aBinlog Dumpthread that services a connected replica. TheStateinformation indicates that all outstanding updates have been sent to the replica and that the source is waiting for more updates to occur. If you see noBinlog Dumpthreads on a source server, this means that replication is not running; that is, no replicas are currently connected.

On a replica server, the output fromSHOW PROCESSLISTlooks like this:

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

TheStateinformation indicates that thread 10 is the replication I/O thread that is communicating with the source server, and thread 11 is the replication SQL thread that is processing the updates stored in the relay logs. At the time thatSHOW PROCESSLISTwas run, both threads were idle, waiting for further updates.

The value in theTimecolumn can show how late the replica is compared to the source. SeeSection A.14, “MySQL 8.0 FAQ: Replication”. If sufficient time elapses on the source side without activity on theBinlog Dumpthread, the source determines that the replica is no longer connected. As for any other client connection, the timeouts for this depend on the values ofnet_write_timeoutandnet_retry_count; for more information about these, seeSection 5.1.8, “Server System Variables”.

TheSHOW REPLICA | SLAVE STATUSstatement provides additional information about replication processing on a replica server. SeeSection 17.1.7.1, “Checking Replication Status”.