Documentation Home
MySQL 8.3 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 40.8Mb
PDF (A4) - 40.9Mb
Man Pages (TGZ) - 294.0Kb
Man Pages (Zip) - 409.0Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb
Excerpts from this Manual

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

19.2.3.1 监控复制主线程

SHOW PROCESSLIST 语句提供了关于源和副本服务器上复制的信息。有关源状态的信息,请参阅 第 10.14.4 节,“复制源线程状态”。对于副本状态,请参阅 第 10.14.5 节,“复制 I/O(接收器)线程状态”第 10.14.6 节,“复制 SQL 线程状态”

以下示例演示了三个主要的复制线程,即二进制日志转储线程、复制 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 线程,服务于连接的副本。状态信息表明所有未决更新已经发送到副本,并且源服务器正在等待更多的更新。如果您在源服务器上没有看到 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

状态信息表明线程 10 是复制 I/O(接收器)线程,正在与源服务器通信,而线程 11 是复制 SQL(应用器)线程,正在处理中继日志中的更新。在 SHOW PROCESSLIST 运行时,两个线程都是空闲的,等待更多的更新。

时间列中的值可以显示副本相比源服务器的延迟。请参阅 附录 A.14,“MySQL 8.3 FAQ:复制”。如果源服务器上没有活动的 Binlog Dump 线程,源服务器将确定副本不再连接。与任何其他客户端连接一样,这些超时取决于 net_write_timeoutnet_retry_count 的值;有关这些的更多信息,请参阅 第 7.1.8 节,“服务器系统变量”

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