Documentation Home
MySQL 8.4 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 39.8Mb
PDF (A4) - 39.9Mb
Man Pages (TGZ) - 257.9Kb
Man Pages (Zip) - 364.9Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 Reference Manual  /  ...  /  Monitoring Replication Main Threads

19.2.3.1 监控复制主线程

SHOW PROCESSLIST 语句提供了关于源和副本在复制中的信息。关于源状态,请见第10.14.4节,“复制源线程状态”。关于副本状态,请见第10.14.5节,“复制I/O(接收)线程状态”,和第10.14.6节,“复制SQL线程状态”

以下示例演示了三个主要复制线程——二进制日志dump线程、复制I/O(接收)线程和复制SQL(应用)线程——在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(应用)线程,该线程处理relay日志中的更新。在运行SHOW PROCESSLIST时,两个线程都处于空闲状态,等待进一步的更新。

Time列中的值可以显示副本与源之间的延迟。请见第A.14节,“MySQL 8.4 FAQ: Replication”。如果在源服务器上没有活动的Binlog Dump线程,源服务器将确定副本已经断开连接。对于其他客户端连接,超时值取决于net_write_timeoutnet_retry_count的值;更多信息,请见第7.1.8节,“Server System Variables”

The SHOW REPLICA STATUS 语句提供了副本服务器上的复制处理信息。请参见第19.1.7.1节,“检查复制状态”