以下列表显示了您在State
副本服务器上的复制 I/O 线程列中看到的最常见状态 。此状态也出现在由Replica_IO_State
显示的 列中 SHOW REPLICA | SLAVE STATUS
,因此您可以使用该语句很好地了解正在发生的事情。
在 MySQL 8.0.26 中,对检测名称进行了不兼容的更改,包括线程阶段的名称,包含术语“ master ”,更改为 “ source ”,“ slave ”,更改为 “ replica ”和“ mts ”(对于 “多线程从属”),更改为 “ mta ”(对于“多线程应用程序”))。使用这些检测名称的监控工具可能会受到影响。如果不兼容的更改对您有影响,请将 terminology_use_previous
系统变量设置BEFORE_8_0_26
为使 MySQL Server 使用上一个列表中指定的对象的旧版本名称。这使依赖旧名称的监视工具能够继续工作,直到可以更新它们以使用新名称。
terminology_use_previous
使用会话范围 设置 系统变量以支持单个功能,或将全局范围设置为所有新会话的默认值。当使用全局范围时,慢查询日志包含名称的旧版本。
-
Checking master version
从 MySQL 8.0.26 开始:
Checking source version
与源的连接建立后发生的非常短暂的状态。
-
Connecting to master
从 MySQL 8.0.26 开始:
Connecting to source
该线程正在尝试连接到源。
-
Queueing master event to the relay log
从 MySQL 8.0.26 开始:
Queueing source event to the relay log
线程已读取事件并将其复制到中继日志,以便 SQL 线程可以处理它。
-
Reconnecting after a failed binlog dump request
该线程正在尝试重新连接到源。
-
Reconnecting after a failed master event read
从 MySQL 8.0.26 开始:
Reconnecting after a failed source event read
该线程正在尝试重新连接到源。当再次建立连接时,状态变为
Waiting for master to send event
。 -
Registering slave on master
从 MySQL 8.0.26 开始:
Registering replica on source
在与源的连接建立后非常短暂地出现的一种状态。
-
Requesting binlog dump
与源的连接建立后发生的非常短暂的状态。线程从请求的二进制日志文件名和位置开始向源发送对其二进制日志内容的请求。
-
Waiting for its turn to commit
当副本线程正在等待较旧的工作线程提交(如果
replica_preserve_commit_order
或slave_preserve_commit_order
已启用)时发生的状态。 -
Waiting for master to send event
从 MySQL 8.0.26 开始:
Waiting for source to send event
该线程已连接到源并正在等待二进制日志事件到达。如果源空闲,这可能会持续很长时间。如果等待持续
replica_net_timeout
或slave_net_timeout
秒,发生超时。此时,线程认为连接已断开并尝试重新连接。 -
Waiting for master update
从 MySQL 8.0.26 开始:
Waiting for source update
Connecting to master
或 之前的初始状态Connecting to source
。 -
Waiting for slave mutex on exit
从 MySQL 8.0.26 开始:
Waiting for replica mutex on exit
线程停止时短暂出现的状态。
-
Waiting for the slave SQL thread to free enough relay log space
从 MySQL 8.0.26 开始:
Waiting for the replica SQL thread to free enough relay log space
您使用的是非零
relay_log_space_limit
值,并且中继日志已经变得足够大,以至于它们的组合大小超过了此值。I/O 线程正在等待 SQL 线程通过处理中继日志内容释放足够的空间,以便它可以删除一些中继日志文件。 -
Waiting to reconnect after a failed binlog dump request
如果二进制日志转储请求失败(由于断开连接),线程在休眠时进入此状态,然后定期尝试重新连接。可以使用
CHANGE REPLICATION SOURCE TO
语句(来自 MySQL 8.0.23)或CHANGE MASTER TO
语句(在 MySQL 8.0.23 之前)指定重试之间的间隔 。 -
Waiting to reconnect after a failed master event read
从 MySQL 8.0.26 开始:
Waiting to reconnect after a failed source event read
读取时发生错误(由于断开连接)。在尝试重新连接之前,线程正在休眠由
CHANGE REPLICATION SOURCE TO
语句(来自 MySQL 8.0.23)或CHANGE MASTER TO
语句(在 MySQL 8.0.23 之前)设置的秒数,默认为 60。